37 lines
1.6 KiB
Markdown
37 lines
1.6 KiB
Markdown
# TestArena Backend
|
|
|
|
TestArena is an automated build and test execution system for ESP32 projects. It provides a complete workflow for cloning repositories, building firmware, and running tests in a QEMU environment, all managed through a modern web dashboard.
|
|
|
|
## 🚀 Quick Start
|
|
|
|
1. **Deploy**: Run `sudo ./deploy.sh` on your Ubuntu server.
|
|
2. **Access**: Open `http://<server-ip>:8080/` in your browser.
|
|
3. **Monitor**: Use the dashboard to track test queues, view individual tasks, and check service health.
|
|
4. **Restart**: If services need a manual restart, use `sudo ./restart_services.sh`.
|
|
|
|
## 🛠️ Key Features
|
|
|
|
- **Service Robustness**: Systemd services are configured to auto-restart on failure and after reboot.
|
|
- **Monitoring Dashboard**: Real-time status of App and Worker services, plus detailed task tracking for each queue.
|
|
- **Task Timeouts**: Running tasks have a 1-hour timeout to prevent queue blocking.
|
|
- **Remote Management**: A dedicated restart script for easy remote execution via SSH.
|
|
|
|
## 📚 Documentation
|
|
|
|
For detailed information, please refer to the documentation in the `doc/` folder:
|
|
|
|
* **[Architecture & Design](doc/architecture.md)**: How the system is built.
|
|
* **[Usage Guide](doc/usage.md)**: How to use and manage the system.
|
|
* **[API Reference](doc/api_reference.md)**: Integration details.
|
|
* **[Workflows](doc/flow_diagrams.md)**: Visual flowcharts of key processes.
|
|
|
|
## 🛠️ Technology Stack
|
|
|
|
* **Backend**: FastAPI, SQLAlchemy, SQLite
|
|
* **Worker**: Python Subprocess, Bash
|
|
* **Frontend**: Vanilla HTML/JS (Glassmorphism UI)
|
|
* **Infrastructure**: Nginx, Systemd, ESP-IDF, QEMU
|
|
|
|
---
|
|
© 2025 TestArena Team
|