Backend service to support the Orbit application.
- RESTful API for managing personal expenses
- Expense transactions categorized by type
- CRUD operations for:
- Transactions
- Transaction categories
- Integration with Prisma ORM
- Organized HTTP routes
Before you begin, make sure you have the following installed:
- Node.js >= 18
- Yarn
- Docker and Docker Compose
git clone https://github.com/diozenio/orbit-backend.git
cd orbit-backend
yarn installCreate a .env file by copying the example:
cp .env.example .envOr manually create a .env file with the following content:
PORT=8080
NODE_ENV=development
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/postgresStart the database with Docker:
docker compose up -dApply Prisma migrations to your database:
yarn migrateTo open Prisma Studio:
yarn prismaRun the development server:
yarn devorbit-backend/
├── .vscode/ → VSCode workspace settings
├── prisma/ → Prisma schema and migrations
└── src/
├── http/ → HTTP layer (routes, controllers, etc.)
├── lib/ → Shared libraries and utilities
└── modules/ → Feature-based modules (e.g. expenses, transactions, categories)
├── / → Domain module
│ └── / → Actions like Create, Update, Delete, Get
└── ...
- Backend Framework: Fastify (https://fastify.dev/)
- ORM: Prisma (https://www.prisma.io/)
- Type Checking: TypeScript (https://www.typescriptlang.org/)
- Validation: Zod (https://zod.dev/)
- Bundler: tsup (https://tsup.egoist.dev/)
- Runtime: tsx (https://github.com/esbuild-kit/tsx)
- Environment Management: dotenv (https://github.com/motdotla/dotenv)
Contributions are welcome! Please open an issue or submit a pull request.
MIT (LICENSE)