Overview
The Next.js, Mongo(Mongoose), and Material UI Starter Boilerplate is a web application that serves as a starting point for building web applications. It utilizes the Next.js framework, Mongo database with Mongoose, and Material UI as the design system. The project follows the MVC architecture and includes full API route implementation with serverless support. It also features session-based authentication using Passport.js, with options for sign up, log in, sign out, email verification, password change, and password reset. The project provides a clean implementation of Material UI v5 with minimal custom CSS. Additionally, it includes stories for all pages and components using Storybook v7.
Features
- MVC Architecture
- Clean Material UI v5 implementation
- Full API Routes implementation and Serverless ready
- Middleware pattern compatible with the Express ecosystem
- Session-based authentication with Passport.js
- Sign up/Log in/Sign out API
- Email verification
- Password change
- Password reset via email
- User profile management (profile picture, username, name, bio, email)
Installation
To run this project, follow these steps:
Clone the repository:
git clone <repository_url>Install the dependencies:
cd <project_folder> yarn installCreate a
.env.localfile and add the following environment variables:CLOUDINARY_URL=<cloudinary_url> MONGODB_URI=<mongodb_connection_string> WEB_URI=<web_app_url> NODEMAILER_CONFIG=<nodemailer_config>Start the development server:
yarn dev
This will start the project on the specified WEB_URI.
Summary
The Next.js, Mongo(Mongoose), and Material UI Starter Boilerplate is a powerful web application boilerplate that provides a ready-to-use foundation for building web applications with Next.js, Mongo database, and Material UI. It includes essential features and functionalities like MVC architecture, clean Material UI implementation, API route implementation, serverless support, session-based authentication, user profile management, and more. With its easy installation process and extensive documentation, this boilerplate is an efficient tool for developers looking to quickly kickstart their web application projects.