7f045662422399674929b03d539abe884a90ec6f
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
-
Backend Setup
cd backend python -m venv venv venv\Scripts\activate pip install -r requirements.txt python manage.py migrate python manage.py runserver -
Frontend Setup
cd frontend npm install npm start -
Serial Bridge Setup
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.pyand.env - Serial Bridge:
config.pyand.env
Development Tips
- Keep all three services running during development
- Use
CORSheaders 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
Description
VehicleScales app with Django and React. It has a python service reading from comport and forwarding data to frontend via sse
Languages
JavaScript
49.4%
Python
38.6%
CSS
11.5%
Dockerfile
0.3%
Shell
0.1%