This is a full-stack project management application that allows users to manage projects, tasks, and workflows. The application is built using modern web technologies, including React, TypeScript, Node.js, and Prisma.
- User Authentication: Register, login, and logout functionality with JWT-based authentication.
- Project Management: Create, view, update, and delete projects.
- Task Management: Manage tasks within projects, including task creation, updates, and deletion.
- Kanban Board: Visualize tasks in a Kanban-style board.
- Gantt Chart: View project timelines using a Gantt chart.
Ensure you have the following installed on your system:
- Node.js (v16 or later) - Download Node.js
- npm (comes with Node.js) or yarn (optional) - Install Yarn
- Git - Download Git
- PostgreSQL (or your preferred database) - Ensure the database is running locally or accessible remotely.
- Prisma CLI (for database migrations) - Install globally using
npm install -g prisma. - Docker (optional) - For running the application using Docker Compose.
# Clone the repository
git clone https://github.com/your-repo/project-management-app.git
cd project-management-appNavigate to the apps/backend and apps/frontend directories and install dependencies:
cd apps/backend
npm installcd ../frontend
npm installCreate .env files in the apps/backend and apps/frontend directories.
DATABASE_URL=postgresql://username:password@localhost:5432/database_name
JWT_SECRET=your_jwt_secret
REFRESH_TOKEN_SECRET=your_refresh_token_secret
NODE_ENV=development
FRONTEND_URL=http://localhost:5173VITE_API_URL=http://localhost:4000/apiNavigate to the apps/backend directory and run the following commands:
-
Generate Prisma Client:
npx prisma generate
-
Run Migrations:
npx prisma migrate dev --name init -
Seed the Database (if applicable):
npx prisma db seed
Navigate to the apps/backend directory and start the server:
npm run devThe backend will run on http://localhost:4000.
Navigate to the apps/frontend directory and start the development server:
npm run devThe frontend will run on http://localhost:5173.
- Open your browser and navigate to
http://localhost:5173. - Use the application as intended.
Below are screenshots of the application to help you understand its functionality and user interface.
If you prefer to use Docker, you can run the application using Docker Compose:
- Ensure Docker is installed and running on your system.
- Run the following command in the root directory:
docker-compose up --buildThis will start both the backend and frontend services.
project-management-app/
├── docker-compose.yml
├── apps/
│ ├── backend/
│ │ ├── prisma/ # Prisma schema and migrations
│ │ ├── src/ # Backend source code
│ │ │ ├── controllers/ # API controllers
│ │ │ ├── middleware/ # Middleware functions
│ │ │ ├── routes/ # API routes
│ │ │ ├── types/ # TypeScript types
│ │ ├── package.json # Backend dependencies
│ ├── frontend/
│ │ ├── public/ # Static assets
│ │ ├── src/ # Frontend source code
│ │ │ ├── components/ # Reusable components
│ │ │ ├── contexts/ # React context providers
│ │ │ ├── pages/ # Application pages
│ │ │ ├── services/ # API service functions
│ │ ├── package.json # Frontend dependencies
- Database Connection Issues: Ensure your database is running and the
DATABASE_URLin the.envfile is correct. - Port Conflicts: If ports
4000or5173are in use, update thePORTin the backend or frontend configuration files. - Missing Dependencies: Run
npm installin both theapps/backendandapps/frontenddirectories.
- Testing: Run tests using
npm testin the respective directories. - Linting: Use
npm run lintto check for code quality issues. - Build: Use
npm run buildto create production builds.
For further assistance, refer to the project documentation or contact the maintainers.



