Welcome to Inferred, the snazzy dashboard for assessing the adequacy of simulation models in digital twin applications. We've got real-time data, Python, ReactJS, and more! 😎
- Real-Time Sensor Data: Incorporating a high-throughput data pipeline capable of ingesting, processing, and displaying real-time sensor data.
- Simulation Model Analytics: Utilizes statistical models and machine learning algorithms to validate and analyze simulation models against real-world data.
- Metrics and Comparisons: Allows for the measurement and juxtaposition of various metrics, providing insights into system performance and reliability.
- Backend: Django
- Frontend: ReactJS
- Database: PostgreSQL
- Caching: Redis
- Message Broker: Celery with Redis
- Containerization: Docker
- Package Management: Poetry
- Code Quality: Pre-commit
Utilizes a Django-based RESTful API in conjunction with Celery for asynchronous task management. This ensures a scalable and extensible backend system capable of handling high volumes of data.
Leverages the capabilities of ReactJS to provide an intuitive and responsive user interface.
Includes mock services that emulate various subsystems, facilitating a controlled environment for testing and development.
Employs Invoke
for task automation, orchestrating complex multi-container operations with simple commands.
Uses a Docker Compose YAML file to handle container orchestration, streamlining the deployment and scaling processes.
Must-haves for a smooth ride:
-
🐧Ubuntu 22 (other OS and distros are not actively tested, nor supported)
-
🐳 Docker install
-
🐳 Docker Compose install
-
🐍 Python ^3.10 install
-
📚 Poetry install
Download them unless you enjoy error messages. 😉
cp backend/.env.example backend/.env
# Fetch all the Python dependencies
cd backend && poetry install --only run
# Spawn virtual environment shell
poetry shell
# Build docker images
inv build
# Flush the database, run migrations, create a superuser, load fixtures, spin up the containers
inv reset
cd backend && poetry install --with dev
# Install pre-commit hooks
pre-commit install
# Run pre-commit hooks on all files
pre-commit run --all-files
# Start the containers
inv up
# Stop the containers. -v removes volumes
inv down [-v]
# Check logs
inv logs {container_name}
# Open bash
inv bash {container_name}
# Run django migrations
inv migrate [--rm] [--make]
# Restart a container
inv restart {container_name}
MIT License. See LICENSE for more information.