https://github.com/itsanjanamourya/notes-app-websocket
This is a real-time collaborative task management web application built using the MERN stack, enhanced with socket.io for live updates and JWT-based authentication for secure user access. Users are assigned either admin or user roles. Admins can view all users' tasks and presence (Online/Offline). Regular users see and manage only their own tasks.
https://github.com/itsanjanamourya/notes-app-websocket
mongodb node react socket-io websocket
Last synced: 2 months ago
JSON representation
This is a real-time collaborative task management web application built using the MERN stack, enhanced with socket.io for live updates and JWT-based authentication for secure user access. Users are assigned either admin or user roles. Admins can view all users' tasks and presence (Online/Offline). Regular users see and manage only their own tasks.
- Host: GitHub
- URL: https://github.com/itsanjanamourya/notes-app-websocket
- Owner: itsAnjanaMourya
- Created: 2025-05-23T09:26:16.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-23T09:53:09.000Z (about 1 year ago)
- Last Synced: 2025-06-26T06:02:06.545Z (12 months ago)
- Topics: mongodb, node, react, socket-io, websocket
- Language: JavaScript
- Homepage:
- Size: 411 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### Prerequisites
Node.js installed on your local machine.
MongoDB Atlas or local MongoDB setup.
**Installation**
### Clone the repository
git clone https://github.com/itsAnjanaMourya/Notes-App-WebSocket.git
### Navigate to the project directory
cd Notes-App-WebSocket
### Navigate to the backend directory
cd backend
### Install backend dependencies
npm i
### Create an .env file
In the backend folder, create a .env file with the following variables:
MONGODB_URL=
PORT=3200
BASE_URL=
SECRET_KEY=
ADMIN_EMAIL=
ADMIN_PASSWORD=
### Start the backend server
npm start
**Frontend Setup**
### Navigate to the frontend directory
cd frontend
### Install frontend dependencies:
npm i
### Start the frontend development server
npm start
**Usage**
Register: Create an account by providing a username, email, and password.
Login: Log in using the registered credentials.
Manage Notes:
Add: Create new notes by filling in the title, description, and status.
Edit: Update existing notes by selecting the edit button.
Delete: Remove notes you no longer need.
Search: Search any task using search bar.
Priority Filter: Filter task by High or Low priority (High priority: red, Low Priority: green, Medium Priority: yellow).
**API Endpoints**
### Authentication
POST /user/register: Register a new user.
POST /user/login: Log in to get a JWT.
POST /user/logout: Invalidate the user session.
GET /admin/users: get all users
GET /admin/tasks: get all tasks of user
GET /admin/tasks:userId get task by user id
### Notes
GET /notes/getNotes: Get all notes for the authenticated user.
POST /notes/addNote: Add a new note.
PUT /notes/updateNote/:id: Update a note by its ID.
DELETE /notes/deleteNote/:id: Delete a note by its ID.
### Project Screenshots



