https://github.com/mehmetttry/maintenance
“FastAPI + MSSQL + Streamlit bakım & stok yönetimi”
https://github.com/mehmetttry/maintenance
alembic fastapi mssql sqlalchemy streamlit
Last synced: about 2 months ago
JSON representation
“FastAPI + MSSQL + Streamlit bakım & stok yönetimi”
- Host: GitHub
- URL: https://github.com/mehmetttry/maintenance
- Owner: mehmetttry
- License: other
- Created: 2025-10-03T14:47:08.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-10-05T21:56:32.000Z (9 months ago)
- Last Synced: 2025-10-05T22:28:40.823Z (9 months ago)
- Topics: alembic, fastapi, mssql, sqlalchemy, streamlit
- Language: Python
- Homepage:
- Size: 224 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ToraMakina – Bakım & Stok Yönetim Sistemi
Atölyelerde bakım süreçlerini ve stok takibini dijitalleştirmek için geliştirilmiştir.
Staj kapsamında yönlendirmeyle geliştirilmiş; eğitim amaçlıdır.
## Teknoloji Yığını
- **Backend:** FastAPI, SQLAlchemy, Alembic
- **Database:** Microsoft SQL Server (MSSQL + ODBC Driver 18)
- **Frontend:** Streamlit
- **Testing:** Pytest
- **Server:** Uvicorn
- **CI :** GitHub Actions (smoke workflow)
## Modüller
- **Bakım:** MaintenanceRequest, WorkOrder (talep → iş emri, atama, kapatma)
- **Stok:** Part, WarehouseTxn (IN/OUT, min stok altı uyarıları)
- **Satınalma:** Supplier, PurchaseOrder (Created/Ordered/Received)
- **Raporlar:** En çok arıza veren makine, en çok tüketilen parça, açık iş emirleri
## Roller
viewer · operator · tech · store · admin
## Kurulum
```bash
# 1) Sanal ortam
python -m venv .venv
# Windows için
.\.venv\Scripts\activate
# 2) Bağımlılıklar
pip install -r requirements.txt
```
### .env
`.env.example` dosyasını kopyalayıp `.env` olarak kaydedin ve değerleri doldurun:
```
MSSQL_DSN="mssql+pyodbc://@localhost\\SQLEXPRESS/ToraMakina?driver=ODBC+Driver+18+for+SQL+Server&trusted_connection=yes&TrustServerCertificate=yes"
JWT_SECRET="replace-with-a-strong-random-secret"
JWT_ALG="HS256"
ACCESS_TOKEN_EXPIRE_MINUTES=60
API_BASE="http://127.0.0.1:8011"
# CORS_ALLOW_ORIGINS="*"
```
## Çalıştırma
```bash
# Backend (API)
uvicorn backend.app.main:app --reload --port 8011
# Frontend (UI)
streamlit run frontend/Home.py
```
- API Dokümanları: http://127.0.0.1:8011/docs
- Uygulama: http://127.0.0.1:8501
## Proje Yapısı (özet)
```
maintenance/
backend/
app/
models/ routers/ services/ repositories/ schemas/ core/
main.py
alembic/
frontend/
Home.py
pages/ (stocks.py, maintenance.py, reports.py)
.env.example
README.md
```
## 📄 Lisans
MIT – Ayrıntı için LICENSE dosyasına bakın.