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 teamtrack
docker-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/client
npm install
- Run below commands to run the server.
cd teamtrack/server
npm 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
.env
file in root server folder- Add following variables
PORT: 8000
DATABASE_URL="postgresql://postgres:root@localhost:5432/projectmanagement?schema=public"
-
Add
.env.local
file in root client folder- Add following variables
NEXT_PUBLIC_API_BASE_URL = http://localhost:8000
NEXT_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"