This project is a Node.js backend API built to integrate with the Bitnob API as part of the InternPulse Cohort 8 program. It simulates the backend infrastructure of a fintech product (e.g., crypto wallet, savings app, transaction tracker) by providing essential crypto-related features.
-
Clone the repository:
git clone https://github.com/internPulse-cohort8/bitnob-api-nodejs.git cd bitnob-api-nodejs -
Install dependencies:
npm install
-
Create a
.envfile :touch .env # echo. > .env for windows -
Fill in the required environment variables in
.env.
We follow a two-branch workflow:
main: Production branch (protected)dev: Development branch (protected). Always pull from dev
-
Pull latest changes from
dev:git checkout dev git pull origin dev
-
Create a feature branch:
git checkout -b feat/your-feature-name
-
Make your changes and commit:
git add . git commit -m "feat: your feature description"
feat: add user authentication endpoint fix: resolve payment processing timeout issue docs: update API documentation for webhook handlers refactor: simplify database connection logic test: add unit tests for transaction service ci: update Node.js version in GitHub Actions -
Push your branch:
git push origin feat/your-feature-name
-
Create a Pull Request (PR) from your feature branch to
dev.
Before pushing your code or creating a PR, run these checks:
-
Build:
npm run build
-
Lint:
npm run lint
-
Tests:
npm run test
Our CI/CD pipeline runs on GitHub Actions:
-
CI Pipeline:
- Runs on every PR to
devormain - Runs build, lint, and tests
- All checks must pass before merge
- Runs on every PR to
-
CD Pipeline:
- Runs on push to
main - Automatically deploys to Render
- Runs on push to