Project Frej is an full-stack environmental data collection and visualization system built using Python, ASP.NET Core, and React. It is designed to gather, store, and display data from a Raspberry Pi equipped with an environmental sensor HAT.
The frontend is hosted on thiberg.dev/project_frej using GitHub pages, directly from this repository. The ASP.NET Core backend is running in an LXC on my home Promxox server.
Some blog entries journaling the development process can be found on my website: thiberg.dev
The project includes:
rpi_scripts/
(Python): Scripts for data collection, temporary storage, and transmission from the Raspberry Pi.server/
(ASP.NET Core): A Minimal API application using EF Core + SQLite.client/
(React) Uses Material UI and chart.js for some simple data visualization.
First, clone the repository
Requires:
- .NET SDK: Version 6.0 or later.
- SQLite: For local storage.
cd server
dotnet restore
dotnet ef database update
dotnet run
Requires:
- Node.js: Version 14.x or later.
- npm: Version 6.x or later.
cd client
npm install
npm run dev
Requires:
- Environmental sensor HAT hardware
- Python: 3.7 or later
- pip: 20.0 or later
cd rpi_scripts
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m main
This project uses third-party libraries, each of which may have its own license terms. The list of licenses for most of these libraries can be found in the LICENSES.md file.
This project is licensed under the MIT License. See the LICENSE file for more details.