Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

BricePetit/VdE_interface

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
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

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.