Skip to content

di-Suza/Blog-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Name - "BLOG APP"

Live Demo - https://blog-app-p6j0.onrender.com/

Test Users - [ userName - itz__sam__09 Password - sujal2004

username - goldstain09
Password - sujal2004

]

Frontend (ReactJS):

Description: The frontend of the blogging application is built using React, providing an intuitive and user-friendly interface for bloggers. Users can seamlessly create and manage their blogger accounts, personalize profiles by updating profile pictures, names, and biographies. The application supports account security features such as changing passwords and a forget password functionality.

Bloggers can compose engaging posts, each with the flexibility to include images, relevant tags, category assignments, captions, and a captivating title with detailed paragraphs. The platform fosters social interaction by enabling users to like, follow, and comment on blog posts. The search functionality empowers bloggers to discover content based on categories, tags, or specific bloggers.

The frontend ensures a dynamic and responsive experience, allowing users to edit and modify their blog posts with ease. The application seamlessly integrates with Firebase Storage for image storage, providing a visually appealing environment for bloggers to express themselves and connect with a wider audience.

Installation & Usage Steps: cd Blog_app_Frontend npm install npm start

but before this you need to start backend server OR create build by using "npm run build", and set it in backend's /View;

Folder Structure: └── /src ├── /components- Contains reusable React components and their corresponding SCSS files. | ├──/SCSS- Holds SCSS files for styling. | | ├──Component1.scss | | ├──Component2.scss | | └── ... │ ├── Component1.jsx │ ├── Component2.jsx │ └── ... ├── /media- Stores main images and logos used in the application. │ ├── image1.jpg │ ├── image2.png │ └── ... ├── /pages- Holds components specific to each route/page along with their SCSS files. | ├──/SCSS- Holds SCSS files for styling. | | ├──Page1.scss | | ├──Page2.scss | | └── ... │ ├── Page1.jsx │ ├── Page2.jsx │ └── ... ├── /redux- Manages state using Redux and Redux Saga. │ ├── /actions- Contains Redux action creators. │ ├── /constants- Defines action types and constants. │ ├── /reducers- Implements Redux reducers. │ ├── /sagas- Manages Redux Sagas for asynchronous actions. │ ├── /services- Contains service files for API interactions. │ └── store.js- Configures the Redux store. ├── /utils- Includes utility file, such as the Firebase configuration file. │ └── firebaseConfig.js ├── index.js- Main entry point for React application. └── router.js- Manages all routes within application.

Technologies used (Frontend)

  • React
  • React-Redux
  • Redux Saga {Toolkit}
  • React Router Dom
  • Axios
  • SCSS
  • Firebase Storage

Dependencies: "axios": "^1.6.0", "firebase": "^10.6.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-redux": "^8.1.3", "react-router-dom": "^6.17.0", "react-scripts": "5.0.1", "react-spinners": "^0.13.8", "redux": "^4.2.1", "redux-saga": "^1.2.3", "sass": "^1.69.5"

Backend (NodeJS & ExpressJS) Database- MongoDB:

Description: The backend of the blogging application is implemented using the MERN stack, with Express.js and Node.js handling the server-side logic. Authentication is secured through the use of JWT (JSON Web Tokens) for user authorization, while bcrypt encryption safeguards user passwords.

MongoDB Atlas serves as the database for the application, and Mongoose is utilized for seamless interaction with the database. The database stores user account information, blog posts, comments, and other relevant data. Mongoose provides a robust and flexible way to define data models and execute queries.

Firebase Storage is integrated for efficient storage and retrieval of blog post images, seamlessly working alongside MongoDB Atlas. The backend API endpoints manage user account operations, including account creation, modification, and password management. Blog posts and associated metadata are stored and retrieved through Mongoose queries.

The application's architecture allows for seamless integration with the frontend, enabling smooth user interactions and real-time updates. The backend employs robust security measures, ensuring the integrity and confidentiality of user data. The combination of MongoDB Atlas and Mongoose provides a scalable and performant solution for data storage and retrieval in the context of the blogging platform.

Installation & Usage Steps: cd Blog_app_Backend npm install npm run dev

Before starting server make your build in View folder is up to date or not!

Folder Structure: ├── /Controller- Contains API routes functions. │ ├── user.js │ ├── post.js │ └── ... Files for handling specific API routes. ├── /Middleware- Manages authentication. │ └── auth.js- Handles authentication logic. ├── /Model- Contains schema files for database interactions. │ ├── user.js │ ├── post.js │ └── ... Files defining data models. ├── /Routes- Manages route files. │ ├── user.js │ ├── post.js │ └── ... Files defining API routes. ├── /View- Static folder containing React build files. │ └── (React Build Files) ├── index.js- Main entry point for the backend server. └── ...

Technologies used (Backend)

  • Node.js
  • Express.js
  • MongoDB Atlas
  • Mongoose
  • JWT (JSON Web Tokens)
  • Bcrypt

Dependencies: "bcrypt": "^5.1.1", "cors": "^2.8.5", "dotenv": "^16.3.1", "express": "^4.18.2", "jsonwebtoken": "^9.0.2", "mongodb": "^6.2.0", "mongoose": "^8.0.0", "nodemailer": "^6.9.7", "otp-generator": "^4.0.1"

About

Crafted with the MERN stack, this dynamic blog application seamlessly integrates React for an interactive frontend, Node.js and Express.js for a robust backend, and MongoDB Atlas for efficient data storage. Users enjoy personalized profiles, engaging posts, and real-time interactions, fostering a vibrant blogging community.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors