Documentation
Project Iron Book
A Digital Financial Ledger
This repo (if I finish it) is my biggest achievement till now because of its 3 main features.
Polyglot Monorepo
7 different parts integrated into one reproducible system.
Environment Agnostic
Multiple tech stacks working together with minimal redundancy.
Simple Onboarding
Developers can start contributing in only 3 steps.
About
- It has 7 different parts to it, all integrated and managed into one polyglot monorepo.
- All parts use different tech stacks and are designed to work together with no redundancies while remaining environment agnostic.
- Developer onboarding does not exceed more than 3 steps.
Development
This section is targeted towards developers who are or will be contributing to this project.
Philosophy
Every single thing needs to be reproducible on any machine. No more than 3 steps to start working on the project, among which, 2 of them are only the prerequisites.
Project Structure
This project is divided into multiple parts as follows.
| Sub-Part | Tech | Development Status | Extra Notes |
|---|---|---|---|
| API | Rust | Planned | - |
| Web App | Python | Planned | - |
| Android App | Kotlin | Planned | - |
| Linux/Windows App | Not Decided Yet | Planned | - |
| Database | PostgreSQL | Planned | - |
| Cache | Redis | Planned | - |
| Project Website | NextJS | Working | - |
Project Directory Structure
. ├── apps │ ├── android │ ├── api │ ├── home │ └── web ├── Cargo.lock ├── Cargo.toml ├── docker-compose.yaml ├── Dockerfile ├── .env.example ├── .gitignore ├── iron_book.sh ├── LICENSE ├── mise.toml ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── README.md ├── setup.sh └── .vscode
Setup
- Install Mise
- Clone the repository
- Run
setup.sh
Todo
Current development tasks and completed milestones.
Pending
- ⬜
setup.ps1 - ⬜Nix Flakes
- ⬜Docker
- ⬜Django does not serve static files in production
- ⬜Add other production features
✅ Completed Tasks▼
- ✔Replace this README with the Project Website and use it as the main documentation.
Users
This section is targeted towards the users of this project.
Features
- None
Complaints
Open an issue on GitHub.