LifePass Studio

Developer onboarding

🚀 Tech Stack

This project leverages the following technologies and tools:

  • Nest.js – Node.js framework

  • Node.js – Server-side JavaScript runtime

  • TypeScript – Type checking

  • Yarn – Package manager

  • Jest – Testing framework

  • ESLint & Prettier – Linting and formatting

  • Stripe – Payment processing

  • Metaplex – Blockchain processing

  • Fireblocks – Blockchain transaction processing for non-custodial wallets

  • Firebase – Asset management

  • And additional supporting libraries


📦 Prerequisites

Make sure you are using the recommended versions:

  • Node.js: 21.7.1

  • Yarn: 1.22.17

  • Local MongoDB running

    • MongoDB Database Tools installed (for mongodump and mongorestore)

    • Mac: brew install mongodb-database-tools

    • Linux: See documentation for your distribution


🛠️ Installation

  1. Clone and navigate to the project:

  2. Create your environment file:

  3. Keep ENVIRONMENT (inside .env) to 'LOCAL'

  4. Rune the LifePass App Seed

  5. Run the BACKEND

You are ready to dev


⚙️ Environment structure

  • staging is a production like. Test here before push in production

  • demo-staging is a sales like. Test here before push in sales

  • sales is a simplified production environment for sales only

  • production for production


👨‍💻 Development Workflow

Each branch must follow these rules

  • New feature > feature/[ticket_identifier]_[short_feature_description]

  • Fix / bug / hot fix > fix/[ticket_identifier]_[short_fix_description]

Development & push process

Start application

Git pull and push

It's preferable but not mandatory to use gitmojiarrow-up-right for creating the commit

Deployment rules for an opened PR

When your development is complete, open a PR and follow the following list so that your PR can be checked quickly

  • Add a comment to your PR so we understand what it corresponds to. Add links to the corresponding Roadmap point(s) or Issue point(s) (if applicable).

  • If you have added one or more new endpoints, or added/modified one or more database schemas, make sure that the information has been transmitted to our official documentation (see DOCUMENTATION.md):

    • See Documentation

  • Make sure your code is clean and properly commented to facilitate review.

  • Don't forget to point out the review managers (BackEnd: Alex | FrontEnd: Theo)

If all these points are met, the manager will review your code for validation and deployment.


📂 Backend Structure

All files are written in lowercase

/src/[service-name]

  • Contains files specific to the service

  • Each file is in a folder with the same name

  • Can include other files specific only to the service

/src/[service-name]/[service].controller.ts

Contains endpoints related to the service

/src/[service-name]/[service].dto.ts

Contains Data Transfer Object related to the service

/src/[service-name]/[service].module.ts

Contains imported/provided modules used by the service

/src/[service-name]/[service].service.ts

Contains service logics

How to add a service folder

Prerequisites

It is recommended to use these versions of NestJS CLI

  • NestJS version 8.2.5

Adding a service folder using the NestJS CLI

Follow this NestJS CLI Usagesarrow-up-right to know more


📜 License

This project is proprietary and confidential. Unauthorized copying, modification, or distribution of any part of this software is strictly prohibited without prior written permission from AuthentifyIT.

Last updated