This project aims to build a secure and scalable RESTful API for managing notes. Users can perform CRUD operations on notes, share notes with others, and search notes based on keywords.
POST /api/auth/signup: Create a new user account.POST /api/auth/login: Log in to an existing user account and receive an access token.
GET /api/notes: Get a list of all notes for the authenticated user.GET /api/notes/:id: Get a note by ID for the authenticated user.POST /api/notes: Create a new note for the authenticated user.PUT /api/notes/:id: Update an existing note by ID for the authenticated user.DELETE /api/notes/:id: Delete a note by ID for the authenticated user.POST /api/notes/:id/share: Share a note with another user for the authenticated user.GET /api/search?q=:query:: Search for notes based on keywords for the authenticated user.
- Framework: node.js, Express
- Database: MongoDB,Mongoose
- Authentication: JWT
- Testing Framework: Mocha, Chai
- Clone the repository:
git clone https://github.com/sejal-vaghasia/NotesApp.git- Navigate to the project directory:
cd NotesApp- Install all the dependencies:
npm install - Run database seeder(Default password for all seeding users are 123456789):
npm run seed - Run the project:
npm start- You may import the Postman collection and postman environment file to run the API: