A simple weekly task tracking application for company staff. Track your tasks from Monday to Friday with a clean, modern UI inspired by Devfolio.
- User registration and login with JWT authentication
- Weekly task management (Monday-Friday)
- Task status tracking (Planned, In Progress, Completed)
- Team View to see other users' tasks
- Dark, modern UI with smooth animations
- Week navigation to view past/future weeks
- Frontend: Vite + React.js
- Backend: Node.js + Express.js
- Database: PostgreSQL
- Authentication: JWT
- Node.js (v18+)
- PostgreSQL (v14+)
Create the PostgreSQL database and run the schema:
# Create database (if needed)
createdb weektask
# Run the schema
psql -d weektask -f backend/schema.sqlcd backend
npm installConfigure environment variables in backend/.env:
PORT=5000
DB_USER=postgres
DB_PASSWORD=postgres
DB_HOST=localhost
DB_PORT=5432
DB_NAME=weektask
JWT_SECRET=your-secret-key-hereStart the backend server:
npm run devThe backend will run on http://localhost:5000
cd frontend
npm installStart the development server:
npm run devThe frontend will run on http://localhost:3000
- Open
http://localhost:3000in your browser - Register a new account or login
- Add tasks for each day of the current week
- Update task status as you progress
- Use "Team View" to see what your colleagues are working on
weektask/
├── backend/
│ ├── config/
│ │ └── db.js # Database connection
│ ├── middleware/
│ │ └── auth.js # JWT authentication
│ ├── models/
│ │ ├── user.js # User model
│ │ └── task.js # Task model
│ ├── routes/
│ │ ├── auth.js # Auth routes
│ │ └── tasks.js # Task routes
│ ├── schema.sql # Database schema
│ ├── server.js # Express server
│ └── .env # Environment variables
├── frontend/
│ ├── src/
│ │ ├── App.jsx # Main app component
│ │ ├── main.jsx # Entry point
│ │ └── index.css # Global styles
│ ├── index.html
│ ├── package.json
│ └── vite.config.js
└── README.md
POST /api/auth/register- Register new userPOST /api/auth/login- Login userGET /api/auth/me- Get current userGET /api/auth/users- Get all users (authenticated)
GET /api/tasks/my-tasks- Get current user's tasks for a weekGET /api/tasks/team-tasks- Get all team tasks for a weekPOST /api/tasks- Create a new taskPUT /api/tasks/:id- Update a taskDELETE /api/tasks/:id- Delete a task
MIT