Skip to content

In this repo, you will find the web interface of the "Voisins d'Énergie" project. Thanks to this interface, the citizens of Brussels who participated to the research were able to have access to their electrical consumption and production.

License

Notifications You must be signed in to change notification settings

BricePetit/VdE_interface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VdE — Community Energy Web Interface

Python License Platform PyTorch TensorFlow Jupyter

Overview

VdE is a Django-based web interface designed for local community energy users (e.g., residents of an apartment building or housing cooperative). It enables residents to monitor real-time and historical energy consumption and solar production, view shared/common loads for the building, and manage access via authentication.

Key features

  • Real-time dashboard: per-user consumption and production
  • Shared/common facilities view: communal consumption and production
  • Historical data visualization (daily/weekly/monthly) and export
  • User authentication and profile management
  • Pages: dashboard, graphs, calendar, groups, profile
  • Cassandra-backed time-series storage (configurable)

Security & Privacy

Energy data can be sensitive. This project follows these principles:

  • Restrict access with authentication
  • Store minimal personal data and allow anonymization/aggregation for communal views
  • Encourage secure production settings (HTTPS, secret management)

Requirements

  • Python 3.10
  • pip
  • Access to a Cassandra instance (or a local/test mode)

Quick install (local)

  1. Create and activate a virtual environment:
python3.10 -m venv .venv
source .venv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Configure Cassandra credentials:
  • Edit or create cassandra_serv_credentials.json with host/port/username/password, or adapt vde_interface/cassandra_db.py to your environment.

Run locally

Apply migrations (if any) and start the development server:

python manage.py migrate
python manage.py runserver 0.0.0.0:8000

Open http://localhost:8000 in your browser.

Project layout

  • manage.py — Django management script
  • requirements.txt — project dependencies
  • vde_interface/ — main Django app
    • cassandra_db.py — Cassandra helper
    • views.py, urls.py, settings.py — application code and configuration
  • templates/ — HTML templates (dashboard, graphs, login, profile)
  • static/ — CSS and image assets
  • cassandra_serv_credentials.json — example credentials (DO NOT commit secrets)

Deployment notes

  • Disable DEBUG and manage secrets via environment variables or a secret manager
  • Use HTTPS and standard security headers (HSTS, CSP)
  • Serve behind a reverse proxy (nginx) and an application server (gunicorn/uvicorn)
  • Consider Docker for reproducible deployments and provide a docker-compose example

Contributing

Contributions are welcome. Suggested workflow:

  1. Fork the repository
  2. Create a feature branch
  3. Add tests and documentation for your changes
  4. Open a pull request with a clear description

Next steps (suggested)

  • Add unit and integration tests for critical views and data handling
  • Provide a sample dataset and a local Cassandra/Docker configuration for testing
  • Add a deployment guide (Docker + nginx)

License

This project is licensed under the MIT License — see ../LICENSE.md.

Contact

Open an issue for bugs, feature requests, or questions.

About

In this repo, you will find the web interface of the "Voisins d'Énergie" project. Thanks to this interface, the citizens of Brussels who participated to the research were able to have access to their electrical consumption and production.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published