Simple Project Management app where users can create, update, and manage tasks, assign them to team members, track progress, and set deadlines.
- Node.js v20.18.0 or higher.
- PostgreSQL v15.8 or higher.
Main dependencies that build this project.
- RemixJS -- React routing framework
Visit frontend README.md for more information.
- NestJS -- Node.js framework with built-in controller abstraction and dependency injection.
Visit backend README.md for more information.
packages/shared
-- shared utilities used by apps.apps/backend
-- backend directoryapps/frontend
-- frontend directory
This project is follow the Clean Architecture principles.
src/
-- source codedomain/
-- domain layer (entities and services abstractions)infrastructures/
-- infrastructure layer (services implementations)use_cases/
-- application logic layerinterfaces/
-- interfaces layer (routes, states, etc)libs/
-- contain constants, enums, utilities, etc.
On the project root directory, run the following commands.
-
Install dependencies
npm install
-
Inittialize git hooks
npx simple-git-hooks
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.
<type>(<scopes(optional)>): <content>
Examples:
bug: invalid user orm
feat(frontend): authentication pages
test(frontend/backend): need test for auth use cases
<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
<type>-<content>-ts-<issue-number>
Examples:
feat-authentication-pages-ts-25
fix-invalid-user-orm-ts-502