Teamtrack is a project management tool that allows users to efficiently manage projects and tasks, track progress, and prioritize work. It provides a seamless way to organize tasks into various stages and helps teams collaborate effectively. The platform is built with a modern tech stack using Next.js for the frontend and Node.js for the backend, with PostgreSQL as the database.
- User Authentication with Amazon Cognito: Users can create accounts and manage access securely.
 - Project & Task Management: Create projects, add tasks, and assign them to specific categories such as:
- To Do
 - Work in Progress
 - Under Review
 - Completed
 
 - Task Prioritization: Set priority levels to organize tasks effectively.
 - Drag-and-Drop Task Movement: Easily move tasks between different stages.
 
- Frontend: Next.js, hosted on AWS Amplify.
 - Backend: Node.js with PostgreSQL database.
 - Database Hosting: PostgreSQL on AWS RDS.
 - Containerization: Docker used to containerize the backend, running on an AWS EC2 instance.
 - CI/CD Pipeline: Automated deployments using GitHub Actions to the EC2 instance on every new server commit.
 
- Backend: Docker container deployed on an AWS EC2 instance, connected to RDS for PostgreSQL.
 - Frontend: Hosted on AWS Amplify, providing fast and scalable hosting for the Next.js frontend.
 
Install Using Docker
Prerequisites
Make sure you have the following installed on your machine:
Git, Node.js, npm (Node Package Manager)
- Fork and Clone the Repository
 - Run below commands to sping up docker container
cd teamtrackdocker-compose up --build
 - Add env file to both client and server. checkout Environment Variables section.
 - Access the Application
- Frontend : http://localhost:3000
 - Backend : http://localhost:8000
 
 
Install Manually
Prerequisites
Make sure you have the following installed on your machine:
Git, Node.js, npm (Node Package Manager)
- Fork and Clone the Repository
 - Run below commands  to run the client.
cd teamtrack/clientnpm install
 - Run below commands to run the server.
cd teamtrack/servernpm install
 - Add env file to both client and server. checkout Environment Variables section.
 - Access the Application
- Frontend : http://localhost:3000
 - Backend : http://localhost:8000
 
 
To run this project, you will need to add the following environment variables.
- 
Add
.envfile in root server folder- Add following variables
 PORT: 8000DATABASE_URL="postgresql://postgres:root@localhost:5432/projectmanagement?schema=public"
 - 
Add
.env.localfile in root client folder- Add following variables
 NEXT_PUBLIC_API_BASE_URL = http://localhost:8000NEXT_PUBLIC_COGNITO_USER_POOL_ID="here you need to add your cognito user pool id"NEXT_PUBLIC_COGNITO_USER_POOL_CLIENT_ID="here you need to add your cognito user pool client id"
 
