This project is a full-stack web application built as part of the Frontend Developer Intern assignmen.
The main focus of the project is frontend development along with a basic backend to support authentication and dashboard features.
- User Registration and Login using JWT authentication
- Protected dashboard routes
- Task management (Add, View, Delete tasks)
- User-specific data handling
- Responsive UI using Tailwind CSS
- React.js
- React Router
- Tailwind CSS
- Node.js
- Express.js
- MongoDB Atlas
- JWT Authentication
/frontend -> React application
/backend -> Node.js + Express API
Before running this project, make sure you have the following installed:
- Node.js (version 14 or higher)
- npm or yarn
- MongoDB Atlas account (for database)
-
Navigate to the backend directory:
cd backend -
Install dependencies:
npm install -
Create a
.envfile in the backend folder with the following variables:PORT=5000 MONGO_URI=your_mongodb_uri JWT_SECRET=your_secret -
Start the development server:
npm run dev
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install -
Start the development server:
npm start
The frontend will run on http://localhost:3000 and the backend on http://localhost:5000.
POST /api/auth/register- Register a new userPOST /api/auth/login- Login user
GET /api/users/profile- Get user profile (protected)
GET /api/tasks- Get all tasks for the user (protected)POST /api/tasks- Create a new task (protected)DELETE /api/tasks/:id- Delete a task by ID (protected)
If this project were to be scaled for production:
- JWT tokens would be stored using HttpOnly cookies
- Backend and frontend would be deployed separately
- Pagination would be added for tasks
- Better error handling and logging would be implemented
- Rate limiting and security measures would be added
- Database indexing and optimization
Utsav
Frontend Developer Intern Candidate
This project is for educational purposes as part of an internship assignment.