Skip to content

centipede13/BlogNet-Mern_Seo_Multiuser_Blogging_Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BlogNet: A SEO friendly blog made with NodeJS, ReactJS , NextJS and MongoDB

Hi! BlogNet is a Multi User SEO friendly blogging website built with Next.js + MERN stack. It allows the user to register (which would send you a register link) as a new user. As a registered user, you can do the normal CRUD of your blogs if you do decide to publish. You can login as "normal user" or as "admin user". It also has the functionality for password reset/recover.

Frontend

🥇 🥈
Next.js
Next.js
React.js
React

Backend

Node / Express
Node / Express

Implemented

Backend

  • Node Api Setup
  • User SignUp/SignIn Api
  • Protected Route based on Role/Pofile (i.e. Admin/User ) with Dashboard Link
  • Categories & Tag Api
  • Blog Api
  • Related Blogs Api
  • Admin Blog update/delete Api
  • Categories Tags Seo Update
  • Blog Search Api
  • User Public Profile Updated
  • Token Expiry and Discussion/comments
  • Contact Form Api
  • Password forgot/reset
  • Account Activation by Mail
  • Google Social login

Frontend

  • Frontend Setup
  • Basic Layout
  • SignUp/SignIn
  • Admin/user dashboards
  • Categories & Tag Pages
  • Blog Page
  • Related Blogs Component
  • Admin Blog update/delete
  • Blog Search
  • User Public Profile Updated
  • Discussion/comments frontend
  • Contact Form frontend
  • pasword reset
  • Account Activation by Mail
  • Google Social login

Note for .env and next.config.js file

.env

  • Create a .env file at the root of backend folder
  • add the following fields:
NODE_ENV=development
APP_NAME="Name Of Your App"
PORT=8000
CLIENT_URL=http://localhost:3000
DATABASE_CLOUD= "MongoDB Connection URL"
SENDGRID_API_KEY=" "
EMAIL_TO=" "
EMAIL_FROM=" "
JWT_SECRET=" "
JWT_ACCOUNT_ACTIVATION=" "
JWT_RESET_PASSWORD=" "
GOOGLE_CLIENT_ID=" "

next.config.js

  • Create a next.config.js file at the root of frontend folder
  • add the following fields:
module.exports = {
  publicRuntimeConfig: {
    APP_NAME: "App Name",
    API_DEVELOPMENT: "http://localhost:8000/api", // Backedn Api Link
    API_PRODUCTION: " ", // enter your production API link
    PRODUCTION: false,
    DOMAIN_DEVLOPMENT: "http://localhost:3000",
    DOMAIN_PRODUCTION: " ", // Domain Name For Production
    FB_APP_ID: " ",
    DISQUS_SHORTNAME: " Enter Disque shortname ",
    GOOGLE_CLIENT_ID:
      "Enter your google client ID",
  },
};

Author

👤 Aryan Pandey

Show your support

Give a ⭐️ if this project helped you!

License

All of the codebases are MIT licensed unless otherwise specified.


Releases

No releases published

Packages

No packages published