• Stars
    star
    200
  • Rank 195,325 (Top 4 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 3 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Compito is a simple and easy to use project management application with support for Multiple orgs.

Logo

Compito - Tasks Done Right โœ”๏ธ

A simple and user friendly project management application with support for multiple Orgs and RBAC

View Demo ยท Report Bug ยท Request Feature ยท Blog

Compito Project Management

Compito 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.

Each project can have multiple boards to manages different parts of the project. Making it easy to maintain.

Home Page

The 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.

There are quick links to get to projects and boards from the home page.

Compito Project Management

Boards Page

With a simple Kanban board, you can easily track your tasks and assign it to different users within the project. You can create new tasks with ease. Cards can be dragged and dropped as you progress.

Compito Project Board

Add attachments to task

Attachment can be added to task by just dragging and dropping in to the modal.

Add attachments

Orgs Page

User 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.

Compito Project Orgs

Users Page

List 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.

Compito Project Users

Projects Page

Shows 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. Users with admin access will be able to update the project details and add/remove members to/from the project.

Compito Project Projects

Role Hierarchy

Users are assigned Admin role when they signup to the application. While inviting other users to the org, a role can be specified. The role will be deciding the level of access that particular user have.

Role hierarchy

Built With

Tech Stack

Bundle Size

The 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

Logo

Lighthouse Score

The scores are pretty good too with a lot of room for improvements.

Logo

Getting Started

To get a local copy up and running follow these simple steps.

Installation

  1. Clone the repo

    git clone https://github.com/adisreyaj/compito.git
  2. Install NPM packages

    npm install
  3. Run the docker-compose script to initialize the local db

    sudo docker-compose up -d
  4. Configure the environment variables

    DATABASE_URL=postgresql://<username>:<password>@localhost/compito
    ADMIN_PASS=<admin_pass>
    
    AUTH0_AUDIENCE=<audience>
    AUTH0_ISSUER_URL=https://<your_domain>.us.auth0.com/
    AUTH0_DB=<database_name>
    AUTH0_DOMAIN=<your_domain>.us.auth0.com
    AUTH0_CLIENT_ID=<machine_to_machine_client_id>
    AUTH0_CLIENT_SECRET=<machine_to_machine_client_id>
    # for dev env
    AUTH0_MANAGEMENT_TOKEN=<managment_api_token>
    
    # secret used to encode the session token in Auth Action
    SESSION_TOKEN_SECRET=<action_secret>
    
  5. Run the UI

    npm start
  6. Run the API server

    npm start api

Setting up Auth0

Auth0 is used for authenticating the users. You'll need to setup few things in Auth0 before running the application.

  1. Login/Signup to Auth0

  2. Create two applications:

    • A Single Page application
    • A Machine to Machine application
  3. In the Single page application make sure to provide the urls:

    • Allowed Callback URLs

      http://localhost:4200
    • Allowed Web Origins

      http://localhost:4200
    • Allowed Logout URLs

      http://localhost:4200/auth/login
  4. Create an API in Auth0

  5. The identifier that of the API will be the audience

  6. Under the Machine to Machine Applications tab, make sure our M-M application is enabled.

  7. Under Authentication > Database, make sure in the Applications tab, both the Application has been enabled.

Blog

Read more about this project and how to setup here: https://blog.sreyaj.dev/compito-project-management-app-angular-nestjs-auth0

Roadmap

See the open issues for a list of proposed features (and known issues).

License

Distributed under the MIT License. See LICENSE for more information.

Show your support

Please โญ๏ธ this repository if this project helped you!

More Repositories

1

flare

Social network for developers.
TypeScript
109
star
2

cartella-web

Cartella - The all in one bookmarking tool!
TypeScript
27
star
3

portfolio

My personal website and portfolio. Made with NextJs
JavaScript
21
star
4

angular-shimmer-effect

A shimmer effect package for Angular Applications
TypeScript
20
star
5

angular-directives-showcase

An example repo to showcase some use cases for directives in Angular
TypeScript
17
star
6

show-off

How often do you get asked about the gadgets or software that you use? If the answer is quite often, you should be trying show off out. Curate the list of gadgets and software and share it with your fans and followers.
TypeScript
17
star
7

ng-custom-form-elements

TypeScript
12
star
8

covid-tracker

A COVID tracker web application made using Angular
HTML
12
star
9

angular-remix-icon

Angular wrapper for Remixicon icon library
TypeScript
9
star
10

vscode-sonarqube-status

Get the result of the Sonar Qube analysis from your CICD pipeline right inside VSCode.
TypeScript
8
star
11

angular-form-array-demo

An interactive demo for Angular Form Array
TypeScript
6
star
12

wfh

E-commerce app built using Angular, NestJs and MongoDB
TypeScript
6
star
13

xpense

An Expense tracking application built using React Native and Expo
JavaScript
6
star
14

md-resume

TypeScript
6
star
15

webitto-frontend

Webitto - A bunch of tools to help you redefine the web.
TypeScript
5
star
16

vscode-unicorn-theme

Do you even Code Girl? This is a special theme for all those lovely girl coders out there. Stay awesome and code like a unicorn.
4
star
17

zigzag

TypeScript
4
star
18

sreyaj

TypeScript
4
star
19

angular-star-rating

Simple Angular Component for Showcasing Ratings
TypeScript
4
star
20

custom-form-controls

TypeScript
4
star
21

sonarqube-sdk

SonarQube Web APIs wrapped into an SDK. Early stage and WIP.
TypeScript
3
star
22

libshare

Curate and share your favourite NPM packages. List all the packages used in your project and make it easier for people to find about them. More visibility to OSS projects.
TypeScript
3
star
23

node-typescript-starter

Simple and straight forward template to get started with Typescript and Node with testing powered by Jest.
TypeScript
2
star
24

vscode-dark-the-shit-out

Love Dark? This is the theme for those dark lords who loves to code in the dark and are afraid of the light.
2
star
25

website

SCSS
2
star
26

100DaysofCode-React

My journey on 100 Days of code for learning React, and React Native
2
star
27

angular-feature-flags

Created with StackBlitz โšก๏ธ
TypeScript
2
star
28

ng-table-datasource

TypeScript
2
star
29

awesome-node

A collection of awesome packages for NodeJS
1
star
30

moovee

Curate your favorite movies!
JavaScript
1
star
31

layer0-angular-example

CSS
1
star
32

staysafe-frontend

StaySafe - Pandemic Awareness application
TypeScript
1
star
33

custom-form-control-validation

TypeScript
1
star
34

flipkartapi

Here is how to consume the Flipkart API in your PHP project.
PHP
1
star
35

sreyaj.dev

My personal website
HTML
1
star
36

libshare-hdb-functions

JavaScript
1
star
37

notifications-gateway

A Simple and Efficient gateway for sending all kinds of notifications ranging from Email, SMS and Push Notifications
TypeScript
1
star
38

react-native-examples

Small UI components for React Native
JavaScript
1
star
39

vscode-swagger-to-nodejs-server

Generate a NodeJS server based on Typescript from your API Swagger files.Get your server to a blazing start with this extension
TypeScript
1
star
40

staysafe-backend

Stay Safe Backed
TypeScript
1
star