Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yeabnoah/nerdspace-backend
Nerdspace Backend: a backend for the Nerd space social networking app built with Node.js, Express, MongoDB, JWT auth, MVC architecture, file uploads, bcrypt, Mongoose ORM, CORS, bodyParser.
https://github.com/yeabnoah/nerdspace-backend
express jwt-authentication mongoose mvc-architecture nodejs
Last synced: 4 days ago
JSON representation
Nerdspace Backend: a backend for the Nerd space social networking app built with Node.js, Express, MongoDB, JWT auth, MVC architecture, file uploads, bcrypt, Mongoose ORM, CORS, bodyParser.
- Host: GitHub
- URL: https://github.com/yeabnoah/nerdspace-backend
- Owner: yeabnoah
- Created: 2023-12-07T06:03:05.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-27T13:09:49.000Z (9 months ago)
- Last Synced: 2024-04-27T14:25:58.435Z (9 months ago)
- Topics: express, jwt-authentication, mongoose, mvc-architecture, nodejs
- Language: JavaScript
- Homepage:
- Size: 99.1 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Nerdspace Backend
Nerdspace Backend is the server-side component of the Nerdspace project, built with Node.js, Express, and MongoDB. It follows the MVC (Model-View-Controller) architecture and provides APIs for handling authentication, authorization, data storage, and other backend functionalities.
## Features
- **Database**: MongoDB is used as the database system for storing data.
- **Authentication**: JSON Web Tokens (JWT) are utilized for user authentication.
- **Authorization**: Protected routes middleware is implemented for restricting access to authorized users only.
- **MVC Architecture**: The codebase is organized into model, view, and controller folders for better separation of concerns.
- **File Uploads**: File uploads are supported using the Multer middleware.
- **Password Hashing**: User passwords are hashed and salted using bcrypt.
- **ORM**: Mongoose is used as the Object-Relational Mapping (ORM) tool for MongoDB.
- **Middleware**: Various middleware functions are implemented for handling CORS, body parsing, and other tasks.## Dependencies
The Nerdspace Backend relies on the following dependencies:
- **bcrypt**: A library for hashing passwords.
- **body-parser**: Middleware for parsing incoming request bodies.
- **cors**: Middleware for enabling Cross-Origin Resource Sharing (CORS).
- **dotenv**: Zero-dependency module that loads environment variables from a `.env` file.
- **express**: Fast, unopinionated, minimalist web framework for Node.js.
- **formidable**: A Node.js module for parsing form data, especially file uploads.
- **jsonwebtoken**: JSON Web Token implementation for Node.js.
- **mongoose**: MongoDB object modeling tool designed to work in an asynchronous environment.
- **multer**: Middleware for handling multipart/form-data, primarily used for file uploads.
- **passport**: Authentication middleware for Node.js.