ProspectIQ / app.py
praneelchettys's picture
Replace main with mobile-friendly ProspectIQ codebase
5bcd5ab
Raw
History Blame Contribute Delete
1.9 kB
import os
from dotenv import load_dotenv
load_dotenv()
from flask import Flask, render_template
from pathlib import Path
from db import init_db
from routes.companies import companies_bp
from routes.contacts import contacts_bp
from routes.command import command_bp
from routes.system import stages_bp, activities_bp, stats_bp, columns_bp, settings_bp, bootstrap_bp
from routes.ai import ai_bp
from routes.learning import learning_bp
from routes.stt import stt_bp
from routes.auth import auth_bp
app = Flask(__name__)
app.secret_key = os.environ.get("SECRET_KEY", "prospectiq_secure_dev_session_key_98765")
from db import init_db, is_supabase_active, sync_postgres_sequences
# Ensure database is initialized
if not is_supabase_active():
db_file = Path(__file__).resolve().parent / "prospectiq.db"
if not db_file.exists() or db_file.stat().st_size == 0:
init_db()
else:
sync_postgres_sequences()
@app.route("/")
def index():
return render_template("index.html")
# Register Blueprints
app.register_blueprint(auth_bp, url_prefix='/api/auth')
app.register_blueprint(companies_bp, url_prefix='/api/companies')
app.register_blueprint(contacts_bp, url_prefix='/api/contacts')
app.register_blueprint(stages_bp, url_prefix='/api/stages')
app.register_blueprint(activities_bp, url_prefix='/api/notes')
app.register_blueprint(stats_bp, url_prefix='/api/stats')
app.register_blueprint(columns_bp, url_prefix='/api')
app.register_blueprint(settings_bp, url_prefix='/api/settings')
app.register_blueprint(command_bp, url_prefix='/api/command')
# Register AI Blueprint
app.register_blueprint(ai_bp)
app.register_blueprint(learning_bp, url_prefix='/api/learning')
app.register_blueprint(bootstrap_bp, url_prefix='/api/bootstrap')
app.register_blueprint(stt_bp)
if __name__ == "__main__":
port = int(os.environ.get("PORT", 5000))
app.run(host="0.0.0.0", port=port, debug=True)