Noteable is a user-friendly web app designed for creating, editing, and managing personal notes. With secure user authentication and session management, it ensures your data remains private. Noteable has a responsive UI where notes are dynamically updated and displayed. Whether you're jotting down quick reminders or detailed notes, this app provides a simple and reliable solution for all your note-taking needs.
- Registration/Login
- Create, read, update, and delete notes
- Responsive UI
- Session authentication and authorization
- Password hashing
- SQLi safe and XSS safe
Clone the project
git clone https://github.com/gauravmehraa/NoteableGo to the project directory
cd NoteableInstall dependencies
cd frontend && npm install && cd ../backend && npm installStart the server
npm run devStart the frontend
cd ../frontend && npm run startTo run this project, you will need to add the following environment variables to your .env file in /backend/
PORT - Specify server port
MONGODB_URL - MongoDB connection string
SESSION_SECRET - Generated Session Secret
NODE_ENV - dev or production
POST /api/auth/register| Parameter | Type | Description |
|---|---|---|
name |
string |
Required. Your name |
username |
string |
Required. Username you want to register |
password |
string |
Required. Password |
confirmPassword |
string |
Required. Confirm Password Field |
POST /api/auth/login| Parameter | Type | Description |
|---|---|---|
username |
string |
Required. Registered Username |
password |
string |
Required. Password |
POST /api/auth/logout
(No parameters) GET /api/notes/
(No parameters) POST /api/notes/add| Parameter | Type | Description |
|---|---|---|
title |
string |
Required. Title of the note |
content |
string |
Required. Note content |
PATCH /api/notes/update/{id}| Parameter | Type | Description |
|---|---|---|
noteID (URL parameter) |
string |
Required. Document ID of note to be updated |
title |
string |
Required. Updated title of the note |
content |
string |
Required. Updated note content |
DELETE /api/notes/delete/{id}| Parameter | Type | Description |
|---|---|---|
noteID (URL parameter) |
string |
Required. Document ID of note to be deleted |
MERN Stack
Client: React, TailwindCSS
Server: Node, Express
Database: MongoDB
API: REST
