app.bettersight.io/backend/app.py

24 lines
788 B
Python

import logging
from flask import Flask
from dotenv import load_dotenv
load_dotenv()
logging.basicConfig(level=logging.INFO)
from extensions import limiter # noqa: E402
from api import api_bp # noqa: E402
# Entry point only — imports and wires everything together. Business
# logic lives in services/, data access in repositories/, routes in
# api.py. Nothing else belongs in this file per CLAUDE.md §5/§18.
app = Flask(__name__)
limiter.init_app(app)
app.register_blueprint(api_bp)
# Sentry initialisation is a Phase 7 ship-gate item (CLAUDE.md §19 step
# 54 — "staging first, then production"). Deliberately not wired here
# yet so earlier phases never silently depend on SENTRY_DSN being set.
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=False)