add element web
This commit is contained in:
parent
98417edd8b
commit
000ec5d25f
9 changed files with 209 additions and 236 deletions
150
README.md
150
README.md
|
|
@ -1,6 +1,6 @@
|
|||
# Studio EinsZwoVier Web Application
|
||||
# studio einszwovier Web Application
|
||||
|
||||
**FastAPI-based PDF print cost calculator** with automated ink coverage analysis, Matrix integration, and multi-service hub for Studio EinsZwoVier Maker Space.
|
||||
**FastAPI-based PDF print cost calculator** with automated ink coverage analysis, Matrix integration, and multi-service hub for studio einszwovier Maker Space.
|
||||
|
||||
[](https://www.docker.com/)
|
||||
[](https://fastapi.tiangolo.com/)
|
||||
|
|
@ -33,100 +33,84 @@
|
|||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "Studio EinsZwoVier Web App (Port 80)"
|
||||
LP[🏠 Landing Page<br/>studio-einszwovier.local]
|
||||
About[ℹ️ About Page<br/>/about<br/>Courses + Team Info]
|
||||
Cost[💰 Cost Calculator<br/>/cost<br/>PDF Analysis]
|
||||
|
||||
subgraph "studio einszwovier Web Platform"
|
||||
LP[🏠 Landing Page<br/>Port 80]
|
||||
About[ℹ️ About Page<br/>/about]
|
||||
CostCalc[💰 Cost Calculator<br/>/cost]
|
||||
|
||||
LP --> About
|
||||
LP --> Cost
|
||||
LP --> CostCalc
|
||||
end
|
||||
|
||||
subgraph "Course Management"
|
||||
CSV[📝 courses.csv<br/>Title, Description, Dates, Image]
|
||||
Images[🖼️ Course Images<br/>static/images/courses/]
|
||||
Modal[🔍 Image Modal<br/>Click to Enlarge]
|
||||
|
||||
About --> CSV
|
||||
CSV --> Images
|
||||
Images --> Modal
|
||||
subgraph "Services Accessible from Landing Page"
|
||||
BookStack[<5B> BookStack<br/>Port 6875<br/>Wissenssammlung]
|
||||
OpenWebUI[🤖 Open WebUI<br/>Port 8080<br/>LLM Chatbot]
|
||||
JupyterHub[<5B> JupyterHub<br/>Port 8001<br/>Python Notebooks]
|
||||
Forgejo[🦊 Forgejo<br/>Port 3003<br/>Git Server]
|
||||
ElementWeb[<5B> Element Web<br/>Port 8082<br/>Matrix Chat]
|
||||
Portainer[<5B> Portainer<br/>Port 9000<br/>Admin Panel]
|
||||
|
||||
LP -.->|Link| BookStack
|
||||
LP -.->|Link| OpenWebUI
|
||||
LP -.->|Link| JupyterHub
|
||||
LP -.->|Link| Forgejo
|
||||
LP -.->|Link| ElementWeb
|
||||
LP -.->|Link| Portainer
|
||||
end
|
||||
|
||||
subgraph "PDF Processing Pipeline"
|
||||
Upload[📤 Upload PDF]
|
||||
Analysis[🔬 Analyze<br/>- Dimensions<br/>- Ink Coverage<br/>- Color Detection]
|
||||
Quote[📋 Quote Generation<br/>Per-page Breakdown]
|
||||
|
||||
Cost --> Upload
|
||||
Upload --> Analysis
|
||||
Analysis --> Quote
|
||||
end
|
||||
|
||||
subgraph "Matrix Integration"
|
||||
MatrixRoom[💬 Matrix Room<br/>Print Orders]
|
||||
PDF_Upload[📎 PDF Attachment]
|
||||
Summary[📊 Order Summary<br/>German Language]
|
||||
|
||||
Quote --> MatrixRoom
|
||||
Quote --> PDF_Upload
|
||||
Quote --> Summary
|
||||
end
|
||||
|
||||
subgraph "Integrated Services"
|
||||
BookStack[📚 BookStack Wiki<br/>:6875]
|
||||
Ollama[🤖 Ollama LLM<br/>:11434]
|
||||
OpenWebUI[💭 Open WebUI<br/>:8080]
|
||||
Portainer[🐳 Portainer<br/>:9000]
|
||||
Synapse[📨 Matrix Synapse<br/>:8008]
|
||||
JupyterHub[📓 JupyterHub<br/>:8001<br/>Drone Programming]
|
||||
Forgejo[🦊 Forgejo Git<br/>:3003<br/>Code Collaboration]
|
||||
|
||||
LP -.-> BookStack
|
||||
LP -.-> OpenWebUI
|
||||
LP -.-> Portainer
|
||||
LP -.-> JupyterHub
|
||||
LP -.-> Forgejo
|
||||
subgraph "Backend Services"
|
||||
Synapse[<5B> Synapse<br/>Port 8008<br/>Matrix Server]
|
||||
Ollama[🔮 Ollama<br/>Port 11434<br/>LLM Engine]
|
||||
MariaDB[(<28> MariaDB<br/>BookStack DB)]
|
||||
|
||||
ElementWeb --> Synapse
|
||||
OpenWebUI --> Ollama
|
||||
MatrixRoom --> Synapse
|
||||
BookStack --> MariaDB
|
||||
CostCalc --> Synapse
|
||||
end
|
||||
|
||||
subgraph "Educational Stack"
|
||||
Notebooks[📒 Jupyter Notebooks<br/>Python Drone Code]
|
||||
GitRepos[📦 Git Repositories<br/>Project Source Code]
|
||||
DronePackages[🚁 djitellopy<br/>Tello SDK]
|
||||
|
||||
subgraph "Educational Resources"
|
||||
Notebooks[📒 Drone Programming<br/>djitellopy Package]
|
||||
GitRepos[📦 Code Repositories<br/>Project Source]
|
||||
Knowledge[<5B> Documentation<br/>Guides & Tutorials]
|
||||
|
||||
JupyterHub --> Notebooks
|
||||
Forgejo --> GitRepos
|
||||
Notebooks -.-> DronePackages
|
||||
BookStack --> Knowledge
|
||||
end
|
||||
|
||||
subgraph "Data Persistence"
|
||||
Uploads[📁 data/uploads/<br/>PDF Files]
|
||||
Courses[📋 data/courses.csv<br/>Course List]
|
||||
MatrixDB[(🗄️ Matrix DB<br/>homeserver.db)]
|
||||
BookDB[(🗄️ BookStack DB<br/>MariaDB)]
|
||||
JupyterVolumes[(💾 Jupyter Volumes<br/>User Workspaces)]
|
||||
ForgejoData[(📚 Forgejo Data<br/>Git Repos)]
|
||||
|
||||
Upload --> Uploads
|
||||
CSV --> Courses
|
||||
Synapse --> MatrixDB
|
||||
BookStack --> BookDB
|
||||
JupyterHub --> JupyterVolumes
|
||||
subgraph "Persistent Storage"
|
||||
PDFUploads[📁 PDF Files<br/>data/uploads/]
|
||||
CoursesCSV[📋 Courses CSV<br/>data/courses.csv]
|
||||
MatrixData[(🗄️ Matrix Data<br/>matrix/data/)]
|
||||
JupyterVols[(💾 Jupyter Volumes<br/>User Workspaces)]
|
||||
ForgejoData[(📚 Forgejo Data<br/>forgejo/data/)]
|
||||
|
||||
CostCalc --> PDFUploads
|
||||
About --> CoursesCSV
|
||||
Synapse --> MatrixData
|
||||
JupyterHub --> JupyterVols
|
||||
Forgejo --> ForgejoData
|
||||
end
|
||||
|
||||
subgraph "Infrastructure"
|
||||
Watchtower[🔄 Watchtower<br/>Auto-Updates<br/>Every 24h]
|
||||
Network[🌐 einszwovier_network<br/>Docker Network]
|
||||
end
|
||||
|
||||
classDef webapp fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
|
||||
classDef service fill:#fff3e0,stroke:#f57c00,stroke-width:2px
|
||||
classDef data fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
|
||||
classDef matrix fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
|
||||
classDef backend fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
|
||||
classDef storage fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
|
||||
classDef edu fill:#fce4ec,stroke:#c2185b,stroke-width:2px
|
||||
classDef infra fill:#fafafa,stroke:#616161,stroke-width:2px
|
||||
|
||||
class LP,About,Cost,Upload,Analysis,Quote webapp
|
||||
class BookStack,Ollama,OpenWebUI,Portainer,Synapse,JupyterHub,Forgejo service
|
||||
class Uploads,Courses,MatrixDB,BookDB,JupyterVolumes,ForgejoData data
|
||||
class MatrixRoom,PDF_Upload,Summary,CSV,Images,Modal matrix
|
||||
class Notebooks,GitRepos,DronePackages edu
|
||||
class LP,About,CostCalc webapp
|
||||
class BookStack,OpenWebUI,JupyterHub,Forgejo,ElementWeb,Portainer service
|
||||
class Synapse,Ollama,MariaDB backend
|
||||
class PDFUploads,CoursesCSV,MatrixData,JupyterVols,ForgejoData storage
|
||||
class Notebooks,GitRepos,Knowledge edu
|
||||
class Watchtower,Network infra
|
||||
```
|
||||
|
||||
---
|
||||
|
|
@ -380,7 +364,7 @@ docker compose up --build
|
|||
|
||||
### Project Structure
|
||||
|
||||
```
|
||||
```zsh
|
||||
.
|
||||
├── main.py # FastAPI application
|
||||
├── cost_calculator.py # PDF analysis logic
|
||||
|
|
@ -417,7 +401,7 @@ docker compose up --build
|
|||
|
||||
## 🤝 Contributing
|
||||
|
||||
Contributions are welcome! This is part of **Studio EinsZwoVier**, a collaborative Maker Space.
|
||||
Contributions are welcome! This is part of **studio einszwovier**, a collaborative Maker Space.
|
||||
|
||||
1. Fork the repository
|
||||
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
||||
|
|
@ -429,13 +413,13 @@ Contributions are welcome! This is part of **Studio EinsZwoVier**, a collaborati
|
|||
|
||||
## 📄 License
|
||||
|
||||
This project is part of Studio EinsZwoVier educational initiative.
|
||||
This project is part of studio einszwovier educational initiative.
|
||||
|
||||
---
|
||||
|
||||
## 📞 Contact
|
||||
|
||||
**Studio EinsZwoVier**
|
||||
**studio einszwovier**
|
||||
Gabriele-von-Bülow-Gymnasium
|
||||
Tile-Brügge-Weg 63, 13509 Berlin (Tegel)
|
||||
|
||||
|
|
@ -452,8 +436,8 @@ Tile-Brügge-Weg 63, 13509 Berlin (Tegel)
|
|||
- Ollama team for local LLM support
|
||||
- BookStack for the documentation platform
|
||||
- FastAPI community
|
||||
- All contributors and students of Studio EinsZwoVier
|
||||
- All contributors and students of studio einszwovier
|
||||
|
||||
---
|
||||
|
||||
**Made with ❤️ at Studio EinsZwoVier Maker Space**
|
||||
Made with ❤️ at studio einszwovier Maker Space
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue