esadakman / fs-reactjs-blog-app

Home Page:https://fs-reactjs-blog-app.vercel.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Full Stack - Blog App - Frontend

Objective

  • Project aims to create a Full Stack blog app project .
  • This is the frontend side of my blog app project.
  • I used django for backend.
    You can see the backend side of this project from here πŸ‘ˆ

Description

  • The welcome page will be the home page and the user will not be able to access other pages without login
  • Users who have logged into the system will be able to see all posts on the home page and posts detail on the detail page of the relevant post.
  • All users can comment or like their own posts and other users posts..
  • Only posts owners will have the authority to edit and delete posts.
  • Users can also update their user information and profile picture by coming to the profile section.
  • For register, login and profile update page, i used the formik-yup library in accordance with our backend.
  • When the user logs in, we will send the token information and user informations values to sessionStorage.
  • I used the window.btoa() and window.atob() methods while assigning and withdrawing the token to the storage.
  • I used the Tailwind CSS for styling.
  • I also use the framer motion library for smooth transitions.

Project Link

You can reach my project from here πŸ‘ˆ

Project Skeleton

fs-reactjs-blog-app  (folder)
|----readme.md
SOLUTION
β”œβ”€β”€ public
β”‚    └── index.html
β”œβ”€β”€ src
β”‚    β”œβ”€β”€ app
β”‚    β”‚       └── store.jsx
β”‚    β”œβ”€β”€ assets
β”‚    β”‚       └── [images] 
β”‚    β”œβ”€β”€ components
β”‚    β”‚       β”œβ”€β”€ formik
β”‚    β”‚       β”‚      β”œβ”€β”€β”€ Login 
β”‚    β”‚       β”‚      β”‚      β”œβ”€β”€ LoginForm.jsx
β”‚    β”‚       β”‚      β”‚      └── LoginSchema.jsx 
β”‚    β”‚       β”‚      β”œβ”€β”€β”€ Profile 
β”‚    β”‚       β”‚      β”‚      β”œβ”€β”€ ProfileForm.jsx
β”‚    β”‚       β”‚      β”‚      └── ProfileSchema.jsx 
β”‚    β”‚       β”‚      └─── Register 
β”‚    β”‚       β”‚             β”œβ”€β”€ RegisterForm.jsx
β”‚    β”‚       β”‚             └── RegisterSchema.jsx  
β”‚    β”‚       β”œβ”€β”€ DeleteModal.jsx
β”‚    β”‚       β”œβ”€β”€ EditModal.jsx
β”‚    β”‚       β”œβ”€β”€ Footer.jsx
β”‚    β”‚       β”œβ”€β”€ Navbar.jsx
β”‚    β”‚       β”œβ”€β”€ PostCard.jsx
β”‚    β”‚       └── PostDetails.jsx
β”‚    β”œβ”€β”€ Features
β”‚    β”‚       β”œβ”€β”€ auth
β”‚    β”‚       β”‚     β”œβ”€β”€ authService.js
β”‚    β”‚       β”‚     └── authSlice.js
β”‚    β”‚       └── post
β”‚    β”‚             β”œβ”€β”€ postService.js
β”‚    β”‚             └── postSlice.js 
β”‚    β”œβ”€β”€ helpers
β”‚    β”‚       β”œβ”€β”€ AnimatedPage.js
β”‚    β”‚       β”œβ”€β”€ customToastify.js
β”‚    β”‚       β”œβ”€β”€ functions.js
β”‚    β”‚       β”œβ”€β”€ loaders.js
β”‚    β”‚       └── ScrollToTop.js
β”‚    β”œβ”€β”€ pages
β”‚    β”‚       β”œβ”€β”€ Home.js
β”‚    β”‚       β”œβ”€β”€ Login.js
β”‚    β”‚       β”œβ”€β”€ Myposts.js
β”‚    β”‚       β”œβ”€β”€ NewBlog.js
β”‚    β”‚       β”œβ”€β”€ NotFound.js
β”‚    β”‚       β”œβ”€β”€ Profile.jsx
β”‚    β”‚       β”œβ”€β”€ Register.jsx
β”‚    β”‚       └── SearchPage.jsx
β”‚    β”œβ”€β”€ router 
β”‚    β”‚       └── AppRouter.jsx
β”‚    β”œβ”€β”€ App.js
β”‚    β”œβ”€β”€ App.css
β”‚    └── index.js
β”œβ”€β”€ .env
β”œβ”€β”€ .gitignore
β”œβ”€β”€ package-lock.json
β”œβ”€β”€ package.json
β”œβ”€β”€ postcss.config.js
β”œβ”€β”€ tailwind.config.js
└── yarn.lock

At the end of the project, following topics are to be covered;

  • HTML
  • CSS
  • JavaScript
  • ReactJS
  • Axios
  • Redux Toolkit
  • React Router DOM
  • Formik-Yup
  • Tailwind CSS
  • Framer Motion
  • React-Toastify

To run this project;

$ git clone https://github.com/esadakman/fs-reactjs-blog-app
$ cd ./fs-reactjs-blog-app
$ npm install / yarn
$ npm start / yarn start

Preview of the Project

gif