TaskManagementApp is designed to streamline project management with efficient task creation, assignment, tracking and profile updation.
TaskManagementApp is a comprehensive task management platform designed to streamline project management activities, from task creation to tracking and assignment. Built with the T3 stack, this application integrates a modern frontend built with Next.js and Tailwind CSS, a serverless backend powered by SST on AWS, and a robust database using Supabase.
Clone the repository:
git clone https://github.com/Ankitjha2202/task_management_tool.git
Navigate to the project directory:
cd task_management_tool
Create a .env
file in the root directory.
Add your Supabase, AWS, and Prisma database credentials to the .env
file:
NEXT_PUBLIC_SUPABASE_URL=https://your-supabase-url.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
AWS_ACCESS_KEY_ID=your-access-key-id
AWS_SECRET_ACCESS_KEY=your-secret-access-key
DATABASE_URL=postgresql://user:password@localhost:5432/mydatabase
npm install
or, if using Yarn:
yarn install
Initialize Prisma:
npx prisma init
Migrate the Database: Run the migration to set up the database schema:
npx prisma migrate dev --name init
Generate Prisma Client: Generate the Prisma client to interact with the database:
npx prisma generate
Start the development server:
npm run dev
or, if using Yarn:
yarn dev
Access the application:
Open http://localhost:3000
in your browser.
The application is deployed using AWS and SST. You can access the live version of the application at https://d1mz4vajeg025u.cloudfront.net/.
Cypress is used for end-to-end testing in this project. In addition to testing the main user interface, I have also added tests for utility functions found in the appUtils
folder.
appUtils
The appUtils
folder contains important utility functions like showSuccess
and showError
. These functions are used to display success and error messages throughout the application. Hereβs how you can run the tests:
npm install cypress --save-dev
or, if using Yarn:
yarn add cypress --dev
Open Cypress Test Runner:
npx cypress open
Run all tests:
The Test Runner will display all available tests, including those for the appUtils
functions. Click on any test to run it.