From f073fc8ddd4b83a25acf99703788ac1d133d602d Mon Sep 17 00:00:00 2001 From: benaiah-muga Date: Tue, 17 Mar 2026 20:05:23 +0300 Subject: [PATCH] docs: enhance README with quick start and technologies sections - Added Quick Start section with Docker setup instructions - Added Technologies section listing backend, database, and tools - Improved architecture section organization - Added Docker deployment instructions - Cleaned up contributing guidelines --- README.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 51 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index b0217c3..4f70f41 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,35 @@ digital services reliable for students and researchers. The repository contains code for the IoT device layer, the backend APIs, and supporting documentation so faculties can adapt the platform to their own campuses. -### High-Level Architecture +--- + +## 🚀 Quick Start + +### Prerequisites + +- Python 3.11+ +- `pip` or `uv` for dependency management +- PostgreSQL (for production) +- Docker & Docker Compose (recommended) + +### Running with Docker + +```bash +# Clone the repository +git clone https://github.com/bos-com/LifeLine-ICT.git +cd LifeLine-ICT + +# Start the backend service +docker-compose up -d + +# Access the API +# API: http://localhost:8000 +# Swagger Docs: http://localhost:8000/docs +``` + +--- + +## 🏗️ Architecture The solution comprises five collaborating layers: @@ -23,9 +51,6 @@ The solution comprises five collaborating layers: - **Deployment** – Infrastructure-as-code scripts will package the stack for on campus or cloud hosting. -Consult `docs/backend_crud_plan.md` for the architectural rationale that guided -issue `#5` (CRUD API implementation). - ### Module Overview - `iot/` – Firmware sketches and logging scripts for field sensors. @@ -34,7 +59,9 @@ issue `#5` (CRUD API implementation). - Additional directories (frontend, gis, deployment) will be filled as the broader initiative matures. -## Backend Service (Issue #5 Deliverable) +--- + +## 🛠️ Backend Service Setup ### Prerequisites @@ -111,19 +138,34 @@ The backend models capture the following relationships: Consult the service-layer docstrings for detailed business rules and institutional context. -## Contributing +--- -1. Create an issue or pick an existing one (see `issues.md`). +## 🧰 Technologies + +- **Backend**: FastAPI (Python) +- **Database**: PostgreSQL with SQLAlchemy ORM +- **Migrations**: Alembic +- **Testing**: pytest +- **IoT**: ESP32, Flask +- **Documentation**: OpenAPI/Swagger + +--- + +## 🤝 Contributing + +1. Create an issue or pick an existing one (see GitHub Issues). 2. Branch from `main`: `git checkout -b feature/your-feature`. 3. Follow the layered structure (`api`, `services`, `repositories`, `models`) to keep contributions organised. 4. Write tests and run `pytest backend/tests` before opening a pull request. 5. Document behaviour changes in code docstrings or the project docs. -## License +--- + +## 📄 License MIT, Apache -## Maintainers +## 👥 Maintainers Muwanga Erasto Kosea, Ouma Ronald