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)

    • Windows: Download from MongoDB's official website

    • 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 gitmoji 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 Usages 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