Add .gitignore file and update README and implementation plan documentation

This commit is contained in:
2025-10-20 17:03:45 +02:00
parent 328910a985
commit ebac14cbb2
3 changed files with 41 additions and 9 deletions

21
.gitignore vendored Normal file
View File

@@ -0,0 +1,21 @@
# temp files
.DS_Store
# IDE files
.vscode/
.idea/
# Python files
__pycache__/
*.pyc
*.pyo
# Virtual environments
env/
.venv/
# environment variables
.env
# github instruction files
.github/instructions/

View File

@@ -2,14 +2,13 @@
A web application to plan mining projects and estimate costs, returns and profitability.
## Tech Stack
Focuses on ore mining operations and covering parameters such as capital and operational expenditures, resource consumption, production output, and Monte Carlo simulations for risk analysis.
- **Backend**: Python 3.10+ (FastAPI)
- **Database**: PostgreSQL
- **Frontend**: (TBD)
- **Testing**: pytest
The system is designed to help mining companies make informed decisions by simulating various scenarios and analyzing potential outcomes based on stochastic variables.
## Planned Features
A range of features are implemented to support these functionalities.
## Features
- **Scenario Management**: The database supports different scenarios for what-if analysis, with parent-child relationships between scenarios.
- **Monte Carlo Simulation**: The system can perform Monte Carlo simulations for risk analysis and probabilistic forecasting.
@@ -21,6 +20,18 @@ A web application to plan mining projects and estimate costs, returns and profit
- **Equipment Management**: The system manages equipment and their operational data.
- **Maintenance Logging**: It includes a log for equipment maintenance events.
## Architecture
The architecture is documented in [docs/architecture.md](docs/architecture.md).
## Development
The development setup instructions are provided in [docs/development_setup.md](docs/development_setup.md).
## Testing
Testing guidelines and best practices are outlined in [docs/testing.md](docs/testing.md).
## Database Objects
The database is composed of several tables that store different types of information. All tables are under schema `bricsium_platform`. See `structure.sql` for full DDL. Here are some of the most important ones:

View File

@@ -6,7 +6,7 @@
1. Create `models/scenario.py` for DB interactions.
2. Implement API endpoints in `routes/scenarios.py`: GET, POST, PUT, DELETE.
3. Add frontend component `components/ScenarioForm.vue` for CRUD.
3. Add frontend component `components/ScenarioForm.html` for CRUD.
4. Update `README.md` with API docs.
## Feature: Parameter Input and Validation
@@ -15,7 +15,7 @@
1. Define parameter schemas in `models/parameters.py`.
2. Create validation middleware in `middleware/validation.py`.
3. Build input form in `components/ParameterInput.vue`.
3. Build input form in `components/ParameterInput.html`.
4. Integrate with scenario management.
## Feature: Monte Carlo Simulation Run
@@ -32,7 +32,7 @@
### Reporting Implementation Steps
1. Create report service `services/reporting.py`.
2. Build dashboard component `components/Dashboard.vue`.
2. Build dashboard component `components/Dashboard.html`.
3. Fetch data from simulation results.
4. Add charts using Chart.js.