Thadillo's picture
First commit.
1c4a712 verified
raw
history blame
1.18 kB
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from dotenv import load_dotenv
import os
db = SQLAlchemy()
def create_app():
load_dotenv()
app = Flask(__name__)
app.config['SECRET_KEY'] = os.getenv('FLASK_SECRET_KEY', 'dev-secret-key-change-in-production')
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///participatory_planner.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app)
# Import models
from app.models import models
# Import and register blueprints
from app.routes import auth, submissions, admin
app.register_blueprint(auth.bp)
app.register_blueprint(submissions.bp)
app.register_blueprint(admin.bp)
# Create tables
with app.app_context():
db.create_all()
# Initialize with admin token if not exists
from app.models.models import Token
if not Token.query.filter_by(token='ADMIN123').first():
admin_token = Token(
token='ADMIN123',
type='admin',
name='Administrator'
)
db.session.add(admin_token)
db.session.commit()
return app