Skip to content

A blogging platform built with MongoDB, Express, React, and Node.js. Features user authentication, post creation, editing, commenting, and responsive design.

Notifications You must be signed in to change notification settings

ashishsigdel/blog-webapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ashish's BLOG

Fullstack open source blogging application made with MongoDB, Express, React & Nodejs (MERN) with tailwind css

Configuration and Setup

In order to run this project locally, simply fork and clone the repository or download as zip and unzip on your machine.

  • Open the project in your prefered code editor.
  • Go to terminal -> New terminal (If you are using VS code)
  • Split your terminal into two (run the Frontend(client) on one terminal and the Backend(api) on the other terminal)

In the first terminal

$ cd client
$ npm install (to install frontend-side dependencies)
$ npm run  start (to start the frontend)

In the second terminal

  • Set environment variables in .env
  • Create your mongoDB connection url, which you'll use as your MONGO
  • Supply the following credentials
#  ---  .env  ---

MOGO =
JWT_SECRET_KEY =

# --- Terminal ---

$ npm install (to install backend-side dependencies)
$ npm run dev (to start the backend)

Key Features

  • User registration and login
  • Admin dashboard
  • Robost app
  • Authentication using JWT Tokens
  • Authentication with google
  • CRUD operations (post create, read, update and delete)
  • Upload user ımages
  • Commenting on the post and edit
  • like on the comment
  • loading effect
  • Responsive Design

Technologies used

This project was created using the following technologies.

Frontend

  • React js - JavaScript library that is used for building user interfaces specifically for single-page applications
  • react-router-dom - To handle routing
  • React icons - Small library that helps you add icons to your react apps.
  • Google firebase - To store image and to Authenticate with google
  • React Quill - To store input as HTML body
  • React Redux - React Redux is the official React UI bindings layer for Redux. It lets your React components read data from a Redux store, and dispatch actions to the store to update state.

Backend

  • Node js -A runtime environment to help build fast server applications using JS
  • Express js -The server for handling and routing HTTP requests
  • Mongoose - For modeling and mapping MongoDB data to JavaScript
  • express-async-handler - Simple middleware for handling exceptions inside of async express routes and passing them to your express error handlers
  • jsonwebtoken - For authentication
  • Bcryptjs - For data encryption
  • Dotenv - Zero Dependency module that loads environment variables

Database

  • MongoDB - It provides a free cloud service to store MongoDB collections.

Author

License

MIT License

Copyright (c) 2024 - Ashish Sigdel

About

A blogging platform built with MongoDB, Express, React, and Node.js. Features user authentication, post creation, editing, commenting, and responsive design.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages