Task Manager is a full-stack task management application designed for both practical use and as a learning resource for new developers. The project is fully documented, making it an excellent reference for those who want to understand how a complete full-stack application works.
- User authentication with JWT
- Secure route protection
- Task creation, updating, and deletion
- Task prioritization and status management
- Fully documented API & database structure
- Easy setup and deployment using Docker
Whether you're looking to learn, contribute, or extend its functionality, Task Manager is open for experimentation.
- Node.js with TypeScript
- Express.js for API handling
- PostgreSQL for database management
- JWT Authentication for secure access
- React.js with TypeScript
- React Router for navigation
- Axios for API requests
- CSS Modules for styling
Full documentation is available in the docs/ folder:
- 📌 API & Endpoints
- 🗄️ Database Structure
- 🎨 Frontend & User Flow
- 🔑 Authentication & Route Protection
- 🤝 Contribution Guide
- 🚰 Docker Setup
- ❓ FAQ
git clone https://github.com/lucas-santoro/TaskManager.git
cd TaskManagerIf you have Docker installed, you can run the full application with one command:
docker-compose up --buildThen access:
- Frontend: http://localhost:5173
- Backend: http://localhost:5000
More info in Docker Setup.
- Backend:
cd taskmanager-backend
npm install- Frontend:
cd ../taskmanager-frontend
npm installCopy the example .env files and configure them:
cp taskmanager-backend/.env.example taskmanager-backend/.env
cp taskmanager-frontend/.env.example taskmanager-frontend/.envBefore running the backend, make sure the database is set up correctly:
psql -U your_user -d your_database -f taskmanager-backend/database/schema.sqlThis command will create all necessary tables as defined in the schema file.
- Backend:
npm run dev- Frontend:
npm run devThe frontend will be available at http://localhost:5173/.
Want to contribute? Check out our contribution guide.
This project is licensed under the MIT License. See the LICENSE file for more details.