Skip to content
 
 

Repository files navigation

Join

Angular TypeScript SCSS Supabase PostgreSQL

Fullstack Kanban task management application built with Angular, TypeScript, Supabase and PostgreSQL.

Live: join.maxbelich.de

Join allows users to organize tasks across multiple workflow stages, assign contacts, manage subtasks and track progress with drag and drop.

Features

  • Sign up and log in with email and password
  • Guest login without creating an account
  • Summary dashboard with task statistics and upcoming deadlines
  • Kanban board with To Do, In Progress, Await Feedback and Done
  • Drag-and-drop task management
  • Search tasks by title, description or assigned contact
  • Create, edit and delete tasks
  • Priorities, due dates, categories, contacts and subtasks
  • Create, edit and delete contacts
  • Realtime updates through Supabase

Tech Stack

  • Angular 22
  • TypeScript
  • SCSS
  • Angular CDK
  • Supabase
  • PostgreSQL
  • Supabase Authentication
  • Supabase Realtime

Backend & Database

The portfolio version uses its own Supabase project and PostgreSQL database.

The database schema is versioned in the repository through Supabase migrations and includes the main application tables:

  • contacts
  • tasks
  • subtasks
  • task_contacts

The schema defines relationships between tasks, contacts and subtasks, including foreign keys and cascading deletes. Row Level Security is enabled for the application tables.

Database migrations are stored in:

supabase/migrations/

Getting Started

Clone the repository:

git clone https://github.com/maxbelich/join.git

Open the project directory:

cd join

Install the dependencies:

npm install

Configure your Supabase project in:

src/environments/environment.ts
src/environments/environment.development.ts

Example:

export const environment = {
  production: false,
  supabaseUrl: 'YOUR_SUPABASE_URL',
  supabaseAnonKey: 'YOUR_SUPABASE_PUBLISHABLE_KEY',
};

Link your Supabase project:

supabase link --project-ref YOUR_PROJECT_REFERENCE

Apply the included database migration:

supabase db push

Enable Anonymous Sign Ins and Realtime for:

  • contacts
  • tasks
  • subtasks
  • task_contacts

Start the application:

npm start

Then open:

http://localhost:4200

Project Background

Join was originally developed as a team project during my Fullstack Developer training at Developer Akademie.

This repository is my personal continuation of that project. It preserves the original Git history and team-project origin while using an independent Supabase backend and database for my portfolio version.

The Supabase schema required by the application is included in this repository so the backend structure can be reproduced in a separate project.

Original team repository:
https://github.com/Umeyrp/join

Author

Max Belich

Portfolio · LinkedIn

License

© 2026 Max Belich. All rights reserved.

About

Join is a fullstack Kanban task management application built with Angular, TypeScript and Supabase. It includes authentication, realtime updates, drag and drop task management, contacts and subtasks.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages