An open API service indexing awesome lists of open source software.

https://github.com/titaniumcoder/income-atlas

An idea for a reference Go + HTMX implementation also useful for freelancers like me that want to live in different places and try it out.
https://github.com/titaniumcoder/income-atlas

Last synced: 20 days ago
JSON representation

An idea for a reference Go + HTMX implementation also useful for freelancers like me that want to live in different places and try it out.

Awesome Lists containing this project

README

          

# 🌐 Income Atlas

Income Atlas is a project designed to track, predict income streams based on specific entries (like toggl entries), and compare living conditions across different countries using key metrics such as taxes, social contributions, and cost of living.

## ✨ Goal
To create a simple, powerful web application that provides comprehensive financial tracking and comparative analysis of global economic data. We aim for an intuitive interface built with pure HTML/CSS enhanced by HTMX for modern interactivity.

## πŸ› οΈ Technology Stack
* **Backend:** Go
* **Frontend:** Pure HTML + CSS / JavaScript (with heavy reliance on HTMX for inter-component communication)
* **Database:** None (File-based configuration with JSON Schema validation)

## πŸ“ Project Structure
```
income-atlas/
β”œβ”€β”€ config/ # Configuration files (JSON)
β”œβ”€β”€ schema/ # JSON Schema definitions
β”œβ”€β”€ web/
β”‚ β”œβ”€β”€ templates/ # HTML templates
β”‚ └── static/ # Static assets (CSS, JS)
β”œβ”€β”€ data/ # User data (later)
β”œβ”€β”€ main.go # Application entry point
β”œβ”€β”€ server.go # HTTP server and routes
β”œβ”€β”€ embed.go # Go embed directives
└── generated.go # Auto-generated code from JSON schema
```

## 🧩 Core Features Planned
1. Income Tracking and Prediction: Inputting data to predict future financial standing.
2. Global Comparison Tool: Comparing countries based on tax burdens/social contributions and living standards.

## βš™οΈ Development Setup
Key development tools include `air` for hot-reloading during development, ensuring the server restarts automatically when files change (configured in `.air.toml`).

### Getting Started
1. Clone the repository.
2. Install dependencies: `go mod tidy`
3. Run the server: `make run` or `air`

### VSCode Integration
The project includes `.vscode/settings.json` to link JSON schema definitions with config files for validation and autocomplete.

## πŸ—ΊοΈ Future State
* **Live Demo:** https://income-atlas.fly.dev