Skip to content

tsaxena4k/NextAuthX-Next.js-Mongodb-Authentication-App

Repository files navigation

Sublime's custom image

NextAuthX: Secure Authentication with Next.js, MongoDB, and Passport

Deploy with ZEIT Now

github last commit github release repo size

An Authentication app build with Next.js, MongoDB and Passport.js

🌈 Check out the demo

Drop a ⭐ if you like it

Features

✔️ No Express.js ✔️ Serverless ready ✔️ API Routes ✔️ Middleware

🔒 Authentication

  • Session
  • #/Log in/Log out

👩👨 Profile

  • Profile picture, name, bio, email
  • Edit profile

📷 Screenshots

Home

Before Login After Login
Home Before Login Home Before Login

Home (Before Login)

Home Before Login

Login

Login

#

#

Home (After Login)

Home After Login

Profile

Profile

Edit Profile

Edit Profile

About

About

Dependencies

This project uses the following dependencies:

  • next.js - v9.3 or above required for API Routes and new new data fetching method.
  • react - v16.8 or above required for react hooks.
  • react-dom - v16.8 or above.
  • swr - required for state management
  • mongodb - may be replaced by mongoose.
  • passport, passport-local - required for managing authentication
  • @material-ui/core,@material-ui/icons - optional,only if you are using materialize css for Frontend.
  • next-connect - recommended if you want to use Express/Connect middleware and easier method routing.
  • express-session, connect-mongo - required for session, may be replaced with other session libraries such as cookie-session or next-iron-session.
  • bcryptjs - optional, may be replaced with any password-hashing library. argon2 recommended.
  • validator - optional but recommended.
  • multer - may be replaced with any middleware that handles multipart/form-data
  • cloudinary - optional, only if you are using Cloudinary for image upload.
  • react-icons - optional, only if you are using React icons to add icons.

Environmental variables

The environment variables will be inlined during build time and thus should not be used in front-end codebase.

Required environmental variables in this project include:

  • process.env.MONGODB_URI The MongoDB Connection String (with credentials)
  • process.env.MONGODB_DB The name of the MongoDB database to be used.
  • process.env.CLOUDINARY_URL (optional, Cloudinary only) Cloudinary environment variable for configuration. See this.

Come Find Me

Tushar | Twitter Tushar | LinkedIn Tushar | Instagram Tuhsra | facebook Tuhsra | stackoverflow Tuhsra | discord Tuhsra | pinterest Tuhsra | dribble Tuhsra | codepen

License

MIT