Skip to content

Getting Started

Cheryl M edited this page Feb 18, 2025 · 11 revisions

Tech Stack

Database: PostgreSQL
ORM: Prisma
Authentication: Passport
Languages: TypeScript
Backend framework: NestJS

Hosting

Database hosting: Railway
Hosting: Railway

Database model

Note

These are not well maintained, best to look at the schema files

dbdiagram.io
dbdocs.io

Deployed URL and DATABASE_URL

on clickup

Environment Variables

AT_SECRET, RT_SECRET can be anything
MJ_ keys please refer to Mailjet

.env for dev
.env.test for testing

Setting up

Optional but recommended:Docker Desktop
clone the repo
Setup following the readme

Learning Resources

External Resources

Git Workflow

We develop on the dev branch, and every few sprints, we will merge into main which is our production code, depending on the amount of changes

  1. Clone the repository (https://github.com/chingu-x/chingu-dashboard-be)

  2. Create a branch on the task you're working on
    We use the following branch naming convention - type/task. For example, feature/solo-project-post-endpoint or chore/upgrade-nestjs

  3. Make, Stage, commit and push changes
    It's a good idea to frequently push your code to remote, e.g. after each commit or when you finish your work for the day. See #ConventionalCommit and #SquashCommit

  4. Make a PR
    Ensure the branch has all the latest dev branch changes, by pulling dev and merge into your working branch

  5. Request 2 reviewers
    Please prioritize PR reviews over your current task(s)

  6. Address Feedback and re-request review if needed

  7. Squash and Merge commit on github with a valid conventional commit message. This will allow release please to properly populate the changelog and set release version.

Squash Commits and Conventional Commits

As suggested by release please, we use squash commit following the conventional commits standard

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Breacking changes will be denoted by appending ! after the type/scope

Clone this wiki locally