barebone app with django and react, sse, jwt token, comport reader, test comport writer, requires com0com, users with groups, sample table vehicles, tokens for access and refresh

This commit is contained in:
2026-01-17 13:03:21 +02:00
commit 7f04566242
81 changed files with 22551 additions and 0 deletions
+85
View File
@@ -0,0 +1,85 @@
# ScalesApp - Multi-Component Application
A distributed application consisting of three main components:
## Architecture
### 1. **Frontend (React)**
- Location: `/frontend`
- Description: React web application that displays real-time data from the serial port
- Communicates with: Django backend via REST API
- Port: 3000 (default)
### 2. **Backend (Django)**
- Location: `/backend`
- Description: Django REST API server for storing and retrieving serial data
- Database: SQLite (configurable)
- Port: 8000 (default)
### 3. **Serial Bridge (Python)**
- Location: `/serial_bridge`
- Description: Python application that reads data from COM ports
- Features: System tray integration, runs as EXE (via PyInstaller)
- Communicates with: Django backend via REST API
- Data Flow: COM Port → Serial Bridge → Django Backend → React Frontend
## Installation & Setup
### Prerequisites
- Node.js 16+ (for React)
- Python 3.8+ (for Django and Serial Bridge)
- pip or conda for Python packages
### Quick Start
1. **Backend Setup**
```bash
cd backend
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
```
2. **Frontend Setup**
```bash
cd frontend
npm install
npm start
```
3. **Serial Bridge Setup**
```bash
cd serial_bridge
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python app.py
```
## Data Flow
```
COM Port
↓
Serial Bridge (Python)
↓
Django Backend REST API
↓
React Frontend
```
## Configuration
Each component has its own configuration file:
- Frontend: `.env`
- Backend: `settings.py` and `.env`
- Serial Bridge: `config.py` and `.env`
## Development Tips
- Keep all three services running during development
- Use `CORS` headers properly in Django for frontend requests
- Serial Bridge should continuously read COM data and POST to backend
- Frontend should poll/subscribe to backend for updates