{"id":15984198,"url":"https://github.com/themihirmathur/dtu-pm","last_synced_at":"2026-01-05T10:02:21.595Z","repository":{"id":256943375,"uuid":"854679432","full_name":"themihirmathur/dtu-pm","owner":"themihirmathur","description":"'DTU-PM' is a comprehensive project management dashboard designed to simplify project management tasks such as planning, tracking, and reporting. Built using modern web technologies and cloud services, it provides a robust platform for managing project data, resources, and collaboration.","archived":false,"fork":false,"pushed_at":"2024-09-13T12:22:18.000Z","size":16678,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T23:11:22.673Z","etag":null,"topics":["aws-amplify","aws-api-gateway","aws-cognito","aws-ec2","aws-lambda","aws-rds","aws-s3","material-ui-data-grid","nextjs","node-js","pgadmin","postgresql","prisma","redux-toolkit","redux-toolkit-query","tailwindcss"],"latest_commit_sha":null,"homepage":"https://github.com/themihirmathur/dtu-pm","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/themihirmathur.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-09T15:38:45.000Z","updated_at":"2024-09-13T12:24:48.000Z","dependencies_parsed_at":"2024-09-14T02:26:49.501Z","dependency_job_id":null,"html_url":"https://github.com/themihirmathur/dtu-pm","commit_stats":null,"previous_names":["themihirmathur/dtu-pm"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themihirmathur%2Fdtu-pm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themihirmathur%2Fdtu-pm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themihirmathur%2Fdtu-pm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/themihirmathur%2Fdtu-pm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/themihirmathur","download_url":"https://codeload.github.com/themihirmathur/dtu-pm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245778339,"owners_count":20670682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-amplify","aws-api-gateway","aws-cognito","aws-ec2","aws-lambda","aws-rds","aws-s3","material-ui-data-grid","nextjs","node-js","pgadmin","postgresql","prisma","redux-toolkit","redux-toolkit-query","tailwindcss"],"created_at":"2024-10-08T02:04:59.696Z","updated_at":"2026-01-05T10:02:16.576Z","avatar_url":"https://github.com/themihirmathur.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DTU-PM (DTU Project Manager) | Complete Project Management Dashboard\n\n\u003cp align=\"left\"\u003e\n  \u003cimg src=\"https://www.animatedimages.org/data/media/562/animated-line-image-0184.gif\" width=\"1920\" \n\u003c/p\u003e\n\n`DTU-PM` is a comprehensive project management dashboard designed to simplify project management tasks such as planning, tracking, and reporting. Built using modern web technologies and cloud services, it provides a robust platform for managing project data, resources, and collaboration. This application leverages Next.js for the frontend, Node.js with Express for the backend, and various AWS services to ensure scalability, security, and high availability.\n\n![Screenshot 2024-09-13 at 5 48 08 PM](https://github.com/user-attachments/assets/40a2d0bc-c34a-4738-9887-a276626bdc44)\n\n## Technology Stack\n\n### Frontend\n- **Next.js**: React-based framework for server-side rendering and static site generation.\n- **Tailwind CSS**: Utility-first CSS framework for rapid UI development.\n- **Redux Toolkit**: State management solution for managing complex state logic.\n- **Redux Toolkit Query**: For managing API requests and caching.\n- **Material UI Data Grid**: For displaying tabular data with sorting, filtering, and pagination.\n\n### Backend\n- **Node.js with Express**: Server-side framework for building RESTful APIs.\n- **Prisma**: PostgreSQL ORM for managing database interactions.\n\n### Database\n- **PostgreSQL**: Relational database management system.\n- **PgAdmin**: Open-source administration and management tool for PostgreSQL.\n\n### Cloud Services (AWS)\n- **AWS EC2**: For hosting the application.\n- **AWS RDS**: Managed PostgreSQL database.\n- **AWS API Gateway**: For creating and managing APIs.\n- **AWS Amplify**: For continuous deployment and hosting.\n- **AWS S3**: For storing static assets like images and documents.\n- **AWS Lambda**: Serverless computing service for handling backend logic.\n- **AWS Cognito**: User authentication and authorization.\n\n![Screenshot 2024-09-13 at 5 48 38 PM](https://github.com/user-attachments/assets/ab5bed48-62f2-4a9d-83a9-3b2516fe52f1)\n\n## Features\n\n- **User Authentication and Authorization**: Secure user login, registration, and access management using AWS Cognito.\n- **Project Management**: Create, update, delete, and manage projects and tasks.\n- **Resource Allocation**: Efficiently manage and allocate resources.\n- **Collaboration Tools**: Facilitate team communication and collaboration.\n- **Data Visualization**: Visualize project progress with Gantt charts and other data visualization tools.\n- **Real-time Updates**: Track changes and updates in real-time using WebSockets.\n- **Cloud Storage Integration**: Seamless integration with AWS S3 for storing and retrieving files.\n\n## Getting Started\n\n### Prerequisites\n\nBefore running the application, ensure that you have the following tools installed on your local machine:\n\n- [Git](https://git-scm.com/downloads)\n- [Node.js](https://nodejs.org/) (includes npm)\n- [PostgreSQL](https://www.postgresql.org/download/)\n- [PgAdmin](https://www.pgadmin.org/download/)\n\n### Installation Steps\n\n1. **Clone the Repository**\n    ```bash\n    git clone https://github.com/themihirmathur/dtu-pm\n    cd dtu-pm\n    ```\n\n2. **Install Dependencies**\n   - For the client:\n    ```bash\n    cd client\n    npm install\n    cd ..\n    ```\n   - For the server:\n    ```bash\n    cd server\n    npm install\n    cd ..\n    ```\n\n3. **Set Up the Database**\n    ```bash\n    npx prisma generate\n    npx prisma migrate dev --name init\n    npm run seed\n    ```\n\n4. **Configure Environment Variables**\n   - Create and configure `.env` for server settings:\n    ```plaintext\n    PORT=your_port_number\n    DATABASE_URL=your_database_url\n    ```\n   - Create and configure `.env.local` for client settings:\n    ```plaintext\n    NEXT_PUBLIC_API_BASE_URL=your_api_base_url\n    ```\n\n5. **Run the Project**\n    ```bash\n    npm run dev\n    ```\n\n## Project Structure\n\n```\nproject-management/\n│\n├── client/                   # Frontend code\n│   ├── pages/                # Next.js pages\n│   ├── components/           # Reusable React components\n│   ├── store/                # Redux Toolkit configuration\n│   ├── public/               # Public assets (images, icons, etc.)\n│   └── styles/               # Tailwind CSS and global styles\n│\n├── server/                   # Backend code\n│   ├── prisma/               # Prisma ORM configurations\n│   ├── controllers/          # Express route controllers\n│   ├── models/               # Database models\n│   └── routes/               # Express routes\n│\n└── README.md                 # Project documentation\n```\n\n## Additional Resources\n\n- **Code Repositories and Configuration Files:**\n  - Complete project code on [GitHub](https://github.com/themihirmathur/dtu-pm)\n  - Tailwind CSS configuration\n  - Redux Toolkit setup\n  - Database seed files\n  - Image files for UI components\n  - `globals.css` file for Gantt charts\n\n- **Diagrams and Models:**\n  - Data model diagram\n  - AWS architecture diagram\n  - AWS Cognito flow diagram\n\n## AWS Deployment Guide\n\n1. **AWS EC2 Configuration**: Set up an EC2 instance to host the application. Follow the AWS documentation for instance creation, security group setup, and SSH access.\n2. **AWS RDS Configuration**: Create and configure an RDS PostgreSQL instance for the application database.\n3. **AWS S3 Configuration**: Set up an S3 bucket for storing static assets and enable CORS to allow access from the frontend.\n4. **AWS Cognito Configuration**: Create a user pool and identity pool for managing authentication and authorization.\n5. **AWS Lambda Functions**: Deploy backend functions for serverless tasks such as notifications and file processing.\n\n![Screenshot 2024-09-13 at 5 48 26 PM](https://github.com/user-attachments/assets/299b220a-4317-4d55-acc6-5a890f3262da)\n\n## Database Management Commands\n\nTo reset the ID in a table:\n```sql\nSELECT setval(pg_get_serial_sequence('\"[DATA_MODEL_NAME_HERE]\"', 'id'), coalesce(max(id)+1, 1), false) FROM \"[DATA_MODEL_NAME_HERE]\";\n```\n\n## Contributing\n\nWe welcome contributions from the community. To contribute, please fork the repository and submit a pull request. Ensure that your code follows the project’s coding standards and includes proper documentation.\n\n## Contact\n\nFor questions or feedback, please reach out to [Mihir Mathur](mailto:themihirmathur@gmail.com).\n\n---\n\nBy providing a detailed overview, this README helps developers and users understand the purpose, setup, and usage of the DTU Project Manager, making it easier to contribute to or deploy the application.\n\n\u003cp align=\"left\"\u003e\n  \u003cimg src=\"https://www.animatedimages.org/data/media/562/animated-line-image-0184.gif\" width=\"1920\" \n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemihirmathur%2Fdtu-pm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthemihirmathur%2Fdtu-pm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemihirmathur%2Fdtu-pm/lists"}