A simple, intuitive, and beautiful way to manage your projects. Similar to Linear, Asana, and Trello.
- This is a web application that allows users to create projects and tasks.
- The backend is a GraphQL API built with the Bun runtime and express.
- Frontend is a Next.js application that uses Apollo Client to interact with the API.
- The database is a PostgreSQL database hosted on Supabase.
-
Workspaces: Encapsulated area for people to track members, projects, and tasks.
-
Teams: Groups of people that work together on projects. They can have their own workflows and permissions.
-
Projects: A collection of tasks that need to be completed. They can be assigned to teams or individuals.
-
Tasks: A unit of work that needs to be completed. They can be assigned to teams or individuals.
-
User Management: Users can create an account, login, and logout. Admins can manage users and their permissions.
-
Advanced querying: Users can filter, sort, and paginate projects and tasks.
-
Real-time updates: Users can see updates in real-time when other users create, update, or delete projects and tasks.
You need to have the following installed on your machine:
- Node.js - Check the official website for instructions on how to install it.
- Bun - Check the Bun documentation for instructions on how to install it.
- Clone the repository
- Setup the backend
2.1. Install the dependencies in the
backend
directory2.2. Create abun install
.env
file in thebackend
directory and add the following environment variables2.3. Run the backendDATABASE_URL=postgres://username:password@localhost:5432/orbit SUPABASE_URL=https://<supabase-url>.supabase.co SUPABASE_KEY=<supabase-key>
bun run dev
- Setup the frontend
3.1. Install the dependencies in the
application
directory3.2. Create abun install
.env.local
file in theapplication
directory and add the following environment variables3.3. Run the frontendNEXT_PUBLIC_API_URL=http://localhost:4000/graphql
bun run dev
- Open your browser and go to
http://localhost:3000
to see the application
Note: The frontend and backend need to be running at the same time for the application to work.