{"id":13406227,"url":"https://github.com/adisreyaj/compito","last_synced_at":"2025-08-25T08:15:28.466Z","repository":{"id":39781771,"uuid":"393489752","full_name":"adisreyaj/compito","owner":"adisreyaj","description":"Compito is a simple and easy to use project management application with support for Multiple orgs.","archived":false,"fork":false,"pushed_at":"2024-04-20T10:20:48.000Z","size":14519,"stargazers_count":211,"open_issues_count":9,"forks_count":47,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-10-15T04:44:46.479Z","etag":null,"topics":["angular","nestjs","prisma","typescript"],"latest_commit_sha":null,"homepage":"https://compito.adi.so","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adisreyaj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","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},"funding":{"custom":["https://www.buymeacoffee.com/adisreyaj"]}},"created_at":"2021-08-06T20:03:48.000Z","updated_at":"2024-09-07T19:15:02.000Z","dependencies_parsed_at":"2024-04-20T11:43:12.621Z","dependency_job_id":null,"html_url":"https://github.com/adisreyaj/compito","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adisreyaj%2Fcompito","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adisreyaj%2Fcompito/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adisreyaj%2Fcompito/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adisreyaj%2Fcompito/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adisreyaj","download_url":"https://codeload.github.com/adisreyaj/compito/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248119529,"owners_count":21050782,"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":["angular","nestjs","prisma","typescript"],"created_at":"2024-07-30T19:02:24.615Z","updated_at":"2025-04-09T22:19:32.227Z","avatar_url":"https://github.com/adisreyaj.png","language":"TypeScript","funding_links":["https://www.buymeacoffee.com/adisreyaj"],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/adi.sreyaj/compito\"\u003e\n    \u003cimg src=\"assets/compito-full-logo.png\" alt=\"Logo\" width=\"333\" height=\"100\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eCompito - Tasks Done Right ✔️\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    A simple and user friendly project management application with support for multiple Orgs and RBAC\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://compito.adi.so\"\u003eView Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/adisreyaj/compito/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/adisreyaj/compito/issues\"\u003eRequest Feature\u003c/a\u003e\n    ·\n    \u003ca href=\"https://blog.sreyaj.dev/compito-project-management-app-angular-nestjs-auth0\"\u003eBlog\u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003cp align=\"center\"\u003e\n   \u003cimg src=\"https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\"\u003e\n   \u003cimg src=\"https://img.shields.io/badge/angular-%23DD0031.svg?style=for-the-badge\u0026logo=angular\u0026logoColor=white\"\u003e\n   \u003cimg src=\"https://img.shields.io/badge/tailwindcss-%2338B2AC.svg?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white\"\u003e\n   \u003cimg src=\"https://img.shields.io/badge/auth0-%23eb5424.svg?style=for-the-badge\u0026logo=auth0\u0026logoColor=white\"\u003e\n   \u003cimg src=\"https://img.shields.io/badge/nestjs-%23E0234E.svg?style=for-the-badge\u0026logo=nestjs\u0026logoColor=white\"\u003e\n   \u003cimg src=\"https://img.shields.io/badge/prisma-%231a202c.svg?style=for-the-badge\u0026logo=prisma\u0026logoColor=white\"\u003e\n   \u003cimg src=\"https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white\"\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n![Compito Project Management](/assets/compito.jpg 'Compito Project Management')\n\nCompito is a simple and easy to use project management application with support for Multiple orgs. Each org can have multiple projects in it. Users can be then given access to the org or the project by assigning them different roles.\n\nEach project can have multiple boards to manages different parts of the project. Making it easy to maintain.\n\n### Home Page\n\nThe home page gives you an overview of the tasks, and projects the user has access to. The user can see tasks that were recently created and the high priority tasks as well.\n\nThere are quick links to get to projects and boards from the home page.\n\n![Compito Project Management](/assets/compito.gif 'Compito Home Page')\n\n### Boards Page\n\nWith a simple Kanban board, you can easily track your tasks and assign it to different users within the project.\nYou can create new tasks with ease. Cards can be dragged and dropped as you progress.\n\n![Compito Project Board](/assets/board.jpg 'Compito Board')\n\n### Add attachments to task\n\nAttachment can be added to task by just dragging and dropping in to the modal.\n\n![Add attachments](/assets/attachments.gif 'Compito Board')\n\n### Orgs Page\n\nUser can be part of multiple orgs. User can view all the orgs he/she is part of. The user can only access the data of an org. When the user logs in, If they are part of multiple orgs, they will be asked to select an org to log in to.\n\n![Compito Project Orgs](/assets/orgs.jpg 'Compito Ors page')\n\n### Users Page\n\nList the members in the org/project based on the role. Admin users can invite new users to the org. The list of pending user invites are also shown in the users page.\n\n![Compito Project Users](/assets/users.jpg 'Compito Users Page')\n\n### Projects Page\n\nShows the list of projects in the org the user have access to. Clicking on the project would take you to the detail page where the boards, and members within the project can be seen.\nUsers with admin access will be able to update the project details and add/remove members to/from the project.\n\n![Compito Project Projects](/assets/projects.jpg 'Compito Projects Page')\n\n### Role Hierarchy\n\nUsers are assigned Admin role when they signup to the application.\nWhile inviting other users to the org, a role can be specified. The role will be deciding the level of access that particular user have.\n\n![Role hierarchy](/assets/compito-roles.jpg 'Role hierarchy')\n\n## Built With\n\n![Tech Stack](https://cardify.vercel.app/api/badges?technologies=typescript,angular,tailwindcss,prisma,auth0,nestjs,postgresql,nx\u0026width=150 'Technologies used')\n\n- [Angular](https://angular.io/)\n- [Tailwind](https://tailwindcss.com/)\n- [NestJS](https://nestjs.com/)\n- [Prisma](https://www.prisma.io/)\n- [PostgreSQL](https://www.postgresql.org/)\n- [Nx](https://nx.dev/)\n\n## Bundle Size\n\nThe bundle size is pretty slim for the kind of application we have. You can also see that the styles css is around ~50KB thanks to Tailwind\n\n\u003cp align=\"center\"\u003e\n \u003cimg src=\"assets/bundle-size.png\" alt=\"Logo\" height=\"500\"\u003e\n\u003c/p\u003e\n\n## Lighthouse Score\n\nThe scores are pretty good too with a lot of room for improvements.\n\n\u003cp align=\"center\"\u003e\n \u003cimg src=\"assets/light-house.png\" alt=\"Logo\" height=\"500\"\u003e\n\u003c/p\u003e\n\n## Getting Started\n\nTo get a local copy up and running follow these simple steps.\n\n### Installation\n\n1. Clone the repo\n   ```sh\n   git clone https://github.com/adisreyaj/compito.git\n   ```\n1. Install NPM packages\n   ```sh\n   npm install\n   ```\n1. Run the docker-compose script to initialize the local db\n   ```sh\n   sudo docker-compose up -d\n   ```\n1. Configure the environment variables\n\n   ```\n   DATABASE_URL=postgresql://\u003cusername\u003e:\u003cpassword\u003e@localhost/compito\n   ADMIN_PASS=\u003cadmin_pass\u003e\n\n   AUTH0_AUDIENCE=\u003caudience\u003e\n   AUTH0_ISSUER_URL=https://\u003cyour_domain\u003e.us.auth0.com/\n   AUTH0_DB=\u003cdatabase_name\u003e\n   AUTH0_DOMAIN=\u003cyour_domain\u003e.us.auth0.com\n   AUTH0_CLIENT_ID=\u003cmachine_to_machine_client_id\u003e\n   AUTH0_CLIENT_SECRET=\u003cmachine_to_machine_client_id\u003e\n   # for dev env\n   AUTH0_MANAGEMENT_TOKEN=\u003cmanagment_api_token\u003e\n\n   # secret used to encode the session token in Auth Action\n   SESSION_TOKEN_SECRET=\u003caction_secret\u003e\n   ```\n\n1. Run the UI\n   ```sh\n   npm start\n   ```\n1. Run the API server\n   ```sh\n   npm start api\n   ```\n\n## Setting up Auth0\n\nAuth0 is used for authenticating the users. You'll need to setup few things in Auth0 before running the application.\n\n1. Login/Signup to Auth0\n1. Create two applications:\n   - A Single Page application\n   - A Machine to Machine application\n1. In the Single page application make sure to provide the urls:\n\n   - `Allowed Callback URLs`\n\n     ```sh\n     http://localhost:4200\n     ```\n\n   - `Allowed Web Origins`\n\n     ```sh\n     http://localhost:4200\n     ```\n\n   - `Allowed Logout URLs`\n\n     ```sh\n     http://localhost:4200/auth/login\n     ```\n\n1. Create an API in Auth0\n1. The identifier that of the API will be the `audience`\n1. Under the `Machine to Machine Applications` tab, make sure our M-M application is enabled.\n1. Under `Authentication` \u003e `Database`, make sure in the `Applications` tab, both the Application has been enabled.\n\n## Blog\n\nRead more about this project and how to setup here:\nhttps://blog.sreyaj.dev/compito-project-management-app-angular-nestjs-auth0\n\n## Roadmap\n\nSee the [open issues](https://github.com/adisreyaj/compito/issues) for a list of proposed features (and known issues).\n\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n## Show your support\n\nPlease ⭐️ this repository if this project helped you!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadisreyaj%2Fcompito","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadisreyaj%2Fcompito","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadisreyaj%2Fcompito/lists"}