This project is a lightweight, high-performance web application designed for garage cooperative management. It is optimized to run on low-power ARMv7 devices (e.g., NanoPI NEO) with strict memory constraints.
This project demonstrates my ability to build modern, efficient C++ solutions for industrial and IoT applications. Following my tenure at Oracle, where I focused on large-scale systems, this project showcases my versatility in:
- Resource-constrained development: Efficient memory and CPU management on 512MB RAM devices.
- Modern C++ Stack: Utilizing C++17, asynchronous networking (Crow/Asio), and SQLite3.
- Full-cycle DevOps: From bare-metal ARM configuration to Nginx reverse-proxy deployment.
- Backend: C++17 (using the Crow Framework for high-concurrency handling).
- Database: SQLite3 with WAL (Write-Ahead Logging) to optimize SD-card lifespan on embedded devices.
- Frontend: HTML5/JavaScript (integrated as a static-file delivery via Nginx).
- Proxy: Nginx as a Reverse Proxy for enhanced security and header management.
- Platform: Ubuntu 24.04.3 LTS on NanoPI NEO (armv7l).
- Admin Authentication: Secure cookie-based role management for administrative tasks.
- Automated Billing Logic: SQL triggers handle complex recurring payment calculations based on dynamic rates.
- Payment History & Debt Tracking: Real-time balance calculations using recursive CTE (Common Table Expressions) in SQLite.
- IoT Ready: Minimalist footprint, designed for 24/7 autonomous operation.
The build process is optimized for low-RAM environments. A temporary swap file is recommended during compilation.
# Install dependencies
sudo apt update
sudo apt install -y g++ cmake libsqlite3-dev libboost-system-dev libasio-dev nginxThis project is licensed under the MIT License - see the LICENSE file for details.