Skip to content

WildCodeSchool/cdajs-2405-projet-flowee

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 Flowee - Project Management Platform

Version React TypeScript Node.js Apollo PostgreSQL Tailwind Docker Nginx Ask DeepWiki

Flowee is a SaaS application built to streamline project management between companies and their clients. By centralizing communications and tracking deliverables, Flowee enhances visibility, organization, and accountability across all stages of a project.


🌍 Overview

Flowee provides a secure and adaptive platform that includes:

  • 🧾 Client profile management
  • πŸ“ Project and deliverable tracking
  • βœ… Task assignment and status updates
  • πŸ“Š Role-based dashboards
  • πŸ” Built-in authentication and access control

πŸ’‘ Tech Stack

Backend

  • Node.js
  • TypeORM
  • TypeGraphQL
  • Apollo Server
  • PostgreSQL

Frontend

  • React
  • Apollo Client
  • Tailwind CSS
  • TypeScript

πŸš€ Getting Started

1. Clone the Repository

git clone https://github.com/yourusername/flowee.git
cd flowee

2. Environment Configuration

cp .env.example .env

Edit the .env file to match your database/user/port config.

3. First Launch (Development)

make first-launch

🐳 Docker & Makefile

Start Containers

make run

Stop Containers

make stop

Restart Containers

make restart

πŸ’Ύ PostgreSQL Management

πŸ—ƒοΈ Roles

Role Username Purpose Created via
Superadmin postgres Create roles and databases init_db_user.ts
Application user flowee_user Used by app & TypeORM for operations dataSource.ts

πŸ”§ Initialize DB

make init-db-user

Executes:

  • User & DB creation
  • Full privileges on schema, tables, sequences

Run this when:

  • .env changes (DB_USER / DB_NAME)
  • You reset your DB container

🧼 Cleanup Test DB/User

make clean-test-users

πŸ”„ Reset DB Schema

make reset-db

πŸ” TypeORM Migrations

Generate a migration

make migration-generate

Apply migrations

make migrations

Revert last migration

make migration-revert

Create empty migration

make migration-create

🌱 Seed Data

make seed

Seeds initial records like an admin account.


πŸ§ͺ Dev Tools

Access backend shell

make bash

View container logs

make logs

Check if backend is running

make check-backend

Display DB user

make whoami

πŸ—‚οΈ Project Structure

backend/
  └── src/
       β”œβ”€β”€ entities/       # TypeORM Entities
       β”œβ”€β”€ migration/      # SQL Migrations
       β”œβ”€β”€ scripts/        # DB init, seed, cleanup
       └── dataSource/     # TypeORM config
frontend/
  └── ...                  # React app

πŸ—οΈ Architecture

Flowee follows a modern 3-tier architecture:

1. Presentation Layer (Frontend)

  • React + Tailwind
  • Atomic Design (Atoms, Molecules, Organisms)
  • Apollo Client for state & GraphQL

2. Business Logic Layer (Backend)

  • Apollo Server + TypeGraphQL
  • Authorization, resolvers, and input validation

3. Persistence Layer (Database)

  • PostgreSQL
  • TypeORM (entities, migrations, relations)

πŸ”„ CI / CD

Flowee uses GitHub Actions for CI/CD workflows:

βœ… Automated Tests

  • Unit (Jest)
  • Integration (API <-> Frontend)
  • Linting + TypeScript validation

πŸš€ Deployment Pipeline

  • dev: auto deploy on every push
  • staging: auto deploy on PR merge
  • main: validated production deployment

πŸ“œ License

MIT


❀️ About

Flowee was created to help freelancers and small businesses better collaborate with clients. Its goal is to make project communication structured, traceable, and simple.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5