Skip to content

KeidsID/task-sync

Repository files navigation

Task Sync

Simple Project Management app where users can create, update, and manage tasks, assign them to team members, track progress, and set deadlines.

Table Of Contents

Developer Section

Requirements

Dependencies

Main dependencies that build this project.

Frontend

  • RemixJS -- React routing framework

Visit frontend README.md for more information.

Backend

  • NestJS -- Node.js framework with built-in controller abstraction and dependency injection.

Visit backend README.md for more information.

Folder Structures

Main Directories

Folder Structure

This project is follow the Clean Architecture principles.

  • src/ -- source code
    • domain/ -- domain layer (entities and services abstractions)
    • infrastructures/ -- infrastructure layer (services implementations)
    • use_cases/ -- application logic layer
    • interfaces/ -- interfaces layer (routes, states, etc)
    • libs/ -- contain constants, enums, utilities, etc.

Setup

Environment Setup

On the project root directory, run the following commands.

  1. Install dependencies

    npm install
  2. Inittialize git hooks

    npx simple-git-hooks

Git Conventions

We use Conventional Commits to handle Git commit messages, and Github PR titles.

For more details about the supported commit types/scopes, refer to gitlint.config.ts file.

Issue Title

<type>(<scopes(optional)>): <content>

Examples:

  • bug: invalid user orm
  • feat(frontend): authentication pages
  • test(frontend/backend): need test for auth use cases
Commit Message / PR Title
<type>(<scopes(optional)>): <content> ts-<issue-number>

Examples:

  • feat: authentication pages ts-25
  • fix(backend): fix invalid user orm ts-502
  • test(frontend/backend): add test for auth use cases ts-250
Branch Name
<type>-<content>-ts-<issue-number>

Examples:

  • feat-authentication-pages-ts-25
  • fix-invalid-user-orm-ts-502