Express Mongodb Rest Api Boilerplate

screenshot of Express Mongodb Rest Api Boilerplate
express

A boilerplate for Node.js apps / Rest API / Authentication from scratch - express, mongodb (mongoose). Typescript

Overview

The express-mongodb-rest-api-typescript-boilerplate is a GitHub project that provides a boilerplate codebase for building RESTful APIs using Express, MongoDB, and TypeScript. The project focuses on providing features like authentication, user management, file upload, multi-language support, and more.

Features

  • Authentication from scratch: Provides a complete authentication system, including features like sign in, sign up, reset password, update profile, and more.
  • TypeScript: Built with TypeScript, a typed superset of JavaScript that adds optional types and tooling support.
  • Sign In: Allows users to sign in to the application using their credentials.
  • Sign Up: Provides a registration process for new users to create an account.
  • Reset Password: Allows users to reset their forgotten password through email verification.
  • Update Profile: Allows users to update their account details, such as name, email, and other personal information.
  • Update Password: Allows users to change their current password to a new one.
  • Update Email: Allows users to update their registered email address.
  • Update User Avatar: Provides functionality for users to update their profile picture.
  • Delete Profile: Allows users to delete their account and associated data.
  • Reset Password by E-mail: Provides a mechanism for users to reset their password by receiving a reset link via email.
  • Verification Profile by E-mail: Sends verification emails to users for confirming their email address.
  • Signed Out Access Token Blacklisting by Redis: Utilizes Redis to blacklist access tokens when users sign out.
  • Image Upload (public storage, Many-to-many relationships): Supports uploading and storing images in a public storage location, utilizing Many-to-many relationships.
  • Multi language by i18Next: Includes support for multiple languages using the i18Next library.
  • E-mail notifications: Provides functionality to send email notifications to users.
  • Package list: Lists the packages used in the project, including ts-node, ts-node-dev, tsc-alias, tsconfig-paths, and typescript.

Summary

The express-mongodb-rest-api-typescript-boilerplate is a comprehensive boilerplate codebase for building RESTful APIs using Express, MongoDB, and TypeScript. It offers various features like authentication, user management, file upload, multi-language support, and more. The project provides a convenient setup process with detailed installation instructions, making it easy for developers to get started with building RESTful APIs using this boilerplate.

express
Express

Express.js is a simple Node.js framework for single, multi-page, and hybrid web applications.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.