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-PartTechDevelopment StatusExtra Notes
APIRustPlanned-
Web AppPythonPlanned-
Android AppKotlinPlanned-
Linux/Windows AppNot Decided YetPlanned-
DatabasePostgreSQLPlanned-
CacheRedisPlanned-
Project WebsiteNextJSWorking-

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

  1. Install Mise
  2. Clone the repository
  3. 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.