Skip to content

Repository files navigation

EnergiData

EnergiData is an agilely developed platform for collecting, processing, and visualizing energy data.

Architecture

  • Backend: .NET 9 API (ASP.NET Core, C# 13)
  • Database: PostgreSQL
  • Frontend: Vite + React (TypeScript)
  • Containerization: Docker is used for the backend, frontend, and database

Project Structure

  • Backend: .NET 9 API project
    • Uses BackgroundService for scheduled data fetching (production, consumption, transmission, prices and ...)
    • API endpoints for energy data
    • Entity Framework Core for database access
    • Logging and dependency injection
  • Frontend:
    • src/components: Shared UI components (Button, Card, Modal, etc.)
    • src/features: Feature modules with domain logic, components, and tests
    • src/hooks: Custom React hooks for data fetching and state management
    • src/utils: Utility functions and helpers

Development

  • Containerized environment for backend, database, and frontend using Docker
  • Extensive use of database and API data fetching
  • Modular frontend structure for scalability and maintainability
  • Hot Module Replacement (HMR) enabled via Vite
  • ESLint configured for code quality and consistency

Status

  • Dashboard is present and currently features 7 cards; more cards and visualizations are planned
  • Frontend, backend, and database are integrated and run in containers
  • Focus has been on expanding data coverage and API endpoints
  • Development containers work well in Visual Studio; production not yet tested
  • More data visualizations are coming soon

Getting Started

  1. Clone the repository
  2. Backend: Build and run the .NET 9 API (or use Docker)
  3. Database: Ensure PostgreSQL is running and accessible (or use Docker)
  4. Frontend:
    • Install dependencies: npm install
    • Start development server: npm run dev (or use Docker)
    • For containerized setup, see Docker instructions (coming soon)

Data Collection

  1. Entso-e
    • Requires an API key to fetch energy production and transmission data
  2. SMHI
    • Uses average weather data from 3 locations in SE4
    • Incorporates solar data from 2 locations in SE4

Frontend Tools Used

  • Vite (project scaffolding, dev server, build)
  • React (UI library)
  • TypeScript (type safety)
  • ESLint (linting)
  • Visual Studio Code / Visual Studio (IDE integration)
  • Docker for containerization

More data and a more informative, beautiful dashboard coming soon!

About

A Dashboard for SE4 - Prices, Consumption, Production, Transmissions ... and a datacollector.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages