This repository contains the code for backend of iNotebook app using MERN stack etc. The project contains Schema for storing data into databases, API endpoints, routes & all other parts which are required and necessary for building a backend of an application.
- Backend Database: The backend of iNotebook is linked with MongoDB Atlas to store & fetch data, fast and secure.
- Hashing: By means of hashing, your passwords are end-to-end encrypted and cannot be viewed, hacked or shared.
- Authenticator - By the use of JSON Web Token, chances of phishing are minimized & user info is limited to that specific user only.
- API Calls: By using the API calls at the endpoints of Host URL, you can get or put your data from database.
- MongoDB Atlas - Database program
- Node.Js - JavaScript runtime environment
- Express.Js - JavaScript Framework
- JSON Web Token - Authenticator
- Express Validator - Validator
- HOST_URL/api/auth/createuser - To Create a new account (POST).
- HOST_URL/api/auth/login - To login into account (POST).
- HOST_URL/api/auth/getuser - To get data of logged in user (POST).
- HOST_URL/api/notes/fetchnotes - To fetch all notes of a user (GET).
- HOST_URL/api/notes/updatenote/USER_ID - To update a note (PUT).
- HOST_URL/api/notes/addnote - To add a note. (POST).
- HOST_URL/api/notes/deletenote//USER_ID - To delete note (DEL).
To get started with Backend project, follow these steps:
- Clone the repository:
git clone https://github.com/Mubassim-Khan/iNotebook-Backend.git
-
Create a .env file in your project root directory
-
Initialize 3 env variables, named as:
- MONGODB_USERNAME - Your MongoDB Atlas username.
- MONGODB_PASSWORD - Your MongoDB Atlas password.
- JWT_SECRET_SIGN - Your custom JWT Secret Signature. (Use combination of both Upper & Lowercase alphabets, numbers & symbols).
- Run this command in terminal:
nodemon index.js
- Open http://localhost:8000 to view it in your browser.
Contributions to this project are welcome. If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
If you have any questions, suggestions, or feedback, you can reach out to the project maintainer:
- LinkedIn : Mubassim Ahmed Khan
- Email: mubassimkhan@gmail.com