Skip to content

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Team Task Manager (Full-Stack Project) A production-ready web application that enables teams to efficiently manage projects, assign tasks, and track progress with secure role-based access control.

🧠 Project Overview Team Task Manager is designed to solve real-world collaboration problems. It allows teams to organize work into projects, assign responsibilities, and monitor progress through a structured workflow. The system ensures that: Admins can manage projects and assign tasks Members can track and update their work Teams have visibility into progress and deadlines

✨ Key Features 🔐 Authentication & Security User Signup & Login Secure password hashing JWT-based authentication Role-based access control (ADMIN / MEMBER)

📁 Project Management Create and manage projects Add/remove team members View all projects assigned to a user

📋 Task Management Create tasks with deadlines Assign tasks to team members Update task status (TODO / IN_PROGRESS / DONE) Track overdue tasks

📊 Dashboard & Insights Total tasks overview Completed vs pending tasks Overdue tasks tracking User-specific task visibility

🏗️ System Architecture This project follows a clean layered architecture: Controller Layer → Handles HTTP requests Service Layer → Contains business logic Repository Layer → Handles database operations Entity Layer → Defines database models

⚙️ Tech Stack Backend Java + Spring Boot Spring Security (Authentication & Authorization) JWT (Token-based authentication) Database PostgreSQL (Relational Database) ORM Hibernate (JPA) Tools Postman (API Testing) Railway (Deployment)

🗄️ Database Design (Simplified) User → stores user details & roles Project → stores project info Task → stores task details ProjectMembers → manages user-project relationships Relationships: One user can be part of multiple projects One project can have multiple tasks Each task is assigned to one user

🔐 Role-Based Access Control ADMIN Create and manage projects Add/remove members Assign tasks MEMBER View assigned tasks Update task status

🔄 API Endpoints Overview Authentication POST /api/auth/signup POST /api/auth/login Projects POST /api/projects GET /api/projects POST /api/projects/{id}/members Tasks POST /api/tasks GET /api/tasks PUT /api/tasks/{id} DELETE /api/tasks/{id} Dashboard GET /api/dashboard

⚙️ Installation & Setup 1️⃣ Clone the Repository git clone

2️⃣ Configure Database Update application.properties: spring.datasource.url=jdbc:postgresql://localhost:5432/taskdb spring.datasource.username=your_username spring.datasource.password=your_password

3️⃣ Run the Application mvn spring-boot

🌐 Deployment The application is deployed on Railway and is accessible via: 👉

📌 Future Improvements Notification system (Email / In-app) Real-time updates using WebSockets File attachments in tasks Activity logs for projects

🎯 Learning Outcomes This project demonstrates: Backend architecture design REST API development Role-based security implementation Database relationship management Real-world problem-solving

👨‍💻 Author Deepu

⭐ Final Note This is not just a CRUD application — it is a structured system built with scalability, security, and real-world use cases in mind.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages