A modern, fast task management application built with React and Node.js.
- User authentication (register/login)
- Create, read, update, delete tasks
- Task priorities (low, medium, high)
- Task status (pending, completed)
- Modern, responsive UI
- Single-port deployment (backend + frontend)
- JWT authentication
- MongoDB database
-
"Install dependencies:" bash npm install
-
"Start the application:" bash npm run dev
-
"Open your browser:"
- "Register" a new account or "login" with existing credentials
- "Create tasks" with title, description, and priority
- "Manage tasks" - mark as complete, reopen, or delete
- "View all tasks" in your dashboard
POST /api/auth/register- Register new userPOST /api/auth/login- Login userGET /api/tasks- Get all user tasksPOST /api/tasks- Create new taskPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete task
- Frontend: React, React Router, CSS
- Backend: Node.js, Express
- Database: MongoDB with Mongoose
- Authentication: JWT
- Styling: Custom CSS with modern design
task-manager/
├── server.js # Express server
├── package.json # Backend dependencies
├── .env # Environment variables
└── client/ # React frontend
├── public/
├── src/
│ ├── components/
│ │ ├── Login.js
│ │ ├── Register.js
│ │ ├── Dashboard.js
│ │ ├── TaskForm.js
│ │ └── TaskList.js
│ ├── App.js
│ ├── App.css
│ └── index.js
└── package.json
Create a .env file in the root directory:
MONGO_URI=mongodb://localhost:27017/taskmanager
JWT_SECRET=your-super-secret-jwt-key
PORT=3000
npm run dev- Start development server with auto-reloadnpm run build- Build production frontendnpm start- Start production server
The app runs on a single port (3000) serving both the API and the React frontend.