π° Bloggy app is a web page made with react. While previously written blogs can be viewed, favorite blogs can be added and removed. After logging in, the user can update their profile or create blogs that are not public.
- User Authentication: Users can sign up and log in to access the site.
- Create Blog Posts: Users can write new blog posts, save them as drafts, or publish them publicly.
- Edit Profile: Users can update their profile information.
- Interact with Blogs: Users can like/unlike blog posts and leave comments.
- Drafts: Users can save blog posts as drafts and view them on their private page.
- Frontend: React, Redux, Mui
- Backend: Node.js, Express
- Authentication: Token
- Clone the repository:
git clone https://github.com/karamanburak/bloggy-app.git
cd bloggy-app
- Install dependencies:
pnpm install
- Set up environment variables:
Create a .env file in the root directory and add the following:
VITE_BASE_URL =
VITE_WEATHER_apiKey =
- Run the development server:
pnpm dev
- Navigate to the registration page to create a new account.
- After registering, log in with your new account credentials.
- After logging in, navigate to the "Blogs" page.
- Write your blog post in the provided editor.
- Choose to save the post as a draft or publish it publicly.
- Drafts: View and edit your drafts from your profile page.
- Public Posts: Edit or delete your public posts.
- Like/Unlike: Click the like button on a blog post to like or unlike it.
- Comments: Leave comments on blog posts to engage with other users.
- Bloggy App (folder)
|
|
SOLUTION
βββ public
βββ src
| βββ app
| β βββ store.jsx
| βββ assets
| β βββ [images]
| βββ components
| β βββ auth
| β β βββ Information.jsx
| β β βββ LoginForm.jsx
| β β βββ RegisterForm.jsx
| β βββ blog
| β β βββ BlogCard.jsx
| β β βββ BlogModal.jsx
| β β βββ CommentForm.jsx
| β β βββ DeleteBlog.jsx
| β β βββ EditBlog.jsx
| β β βββ Editor.jsx
| β β βββ NewBlog.jsx
| β β βββ SocialShare.jsx
| β β βββ TinyMCE.jsx
| β β βββ TrendBlog.jsx
| β βββ global
| β β βββ AuthImage.jsx
| β β βββ Navbar.jsx
| β βββ home
| β β βββ CustomSwiper.jsx
| β β βββ Footer.jsx
| β β βββ HomeCard.jsx
| β β βββ NewsCard.jsx
| β β βββ PageHeader.jsx
| β β βββ Quotes.jsx
| β β βββ ShowsCard.jsx
| β β βββ WeatherCard.jsx
| β βββ profile
| β β βββ MyBlogsCard.jsx
| β β βββ MyBlogsContainer.jsx
| β β βββ UpdateProfileModal.jsx
| βββ features
| β β βββ autSlice.jsx
| β β βββ blogSlice.jsx
| β β βββ categorySlice.jsx
| β β βββ newsShowsSlice.jsx
| βββ helper
| β β βββ ToastNotify.js
| βββ hooks
| β β βββ useAuthCall.jsx
| β β βββ useAxios.jsx
| β β βββ useBlogCall.jsx
| β β βββ useCategoryCall.jsx
| β β βββ useNewsShowsCall.jsx
| βββ pages
| β βββ About.jsx
| β βββ Blogs.jsx
| β βββ Dashboard.jsx
| β βββ Detail.jsx
| β βββ Login.jsx
| β βββ NotFound.jsx
| β βββ Profile.jsx
| β βββ Register.jsx
| βββ router
| | βββ AppRouter.jsx
| | βββ PrivateRouter.jsx
| βββ styles
| | βββ globalStyles.js
| | βββ theme.js
| βββ App.jsx
| βββ main.jsx
| βββ .gitignore
| βββ frontend.env
| βββ index.css
| βββ index.html
| βββ LICENSE
| βββ package.json
| βββ pnpm-lock.yaml
| βββ README.md
| βββ vercel.json
βββ vite.config.js