Skip to content

ProyectoRespira/respira-webapp

Repository files navigation

Respira Webapp

Respira is a web application for air quality data visualization and forecasting.

Project structure

  • backend (Django + DRF API)
  • frontend (Astro + React)
  • proxy (Nginx)
  • certbot (certificate management)

Security

For security procedures and incident response details:

Docker Compose

For local development and deployment with Docker Compose, see:

  • Docker Compose How-To Guide - Setup, configuration, and troubleshooting
  • Quick start: cp docker-compose.override.yml.example docker-compose.override.yml && cp .env.example .env && docker compose up -d

Developer workflow

Backend local setup

cd backend
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt

Frontend local setup

cd frontend
pnpm install
pnpm dev

Pre-commit hooks

Install hooks once per clone:

pre-commit install --install-hooks

Run all hooks manually:

pre-commit run --all-files

Recommended commit flow

To avoid commit-time failures from auto-fixing hooks (for example end-of-file fixes), use this sequence:

cd backend
./.venv/bin/python manage.py test
cd ..

pre-commit run --all-files
git add -A
git commit -m "your message"

If a hook modifies files during commit, re-stage the modified files and commit again.

Environment Variables

Configuration reference for all services:

Nginx and SSL

Proxy templates live in proxy/nginx.conf*.template and are selected with ENVIRONMENT. For production certificates, use the certbot service and the mounted certbot/conf and certbot/www directories.

System architecture

final_system_architecture

Legacy full database architecture

data_retriever_v4(2)

Database tables consumed by this API

data_retriever_only_front

About

Air Prediction for Asuncion - Paraguay

Resources

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages