Refactor application to MVC architecture with Flask blueprints
Major architectural refactoring to improve code organization, maintainability, and scalability: - Implement MVC pattern with clear separation of concerns - Organize code into blueprints for different functional areas (main, tenant, admin, api) - Create models layer to encapsulate all database operations - Create services layer for business logic (auth, product, barcode) - Implement application factory pattern for better testability - Add environment-based configuration management - Remove old monolithic app.py and consolidate routes New structure: - app/models/ - Database operations (Tenant, Product, ARField, Settings) - app/services/ - Business logic (Auth, Product, Barcode services) - app/blueprints/ - Controllers organized by function - app/config.py - Environment configurations - run.py - Application entry point All routes remain backward compatible. No changes to API or templates functionality.
This commit is contained in:
20
src/run.py
Normal file
20
src/run.py
Normal file
@@ -0,0 +1,20 @@
|
||||
import os
|
||||
import shutil
|
||||
from app import create_app
|
||||
from app.models import TenantModel
|
||||
|
||||
# Create application
|
||||
app = create_app(os.environ.get('FLASK_ENV', 'development'))
|
||||
|
||||
if __name__ == '__main__':
|
||||
with app.app_context():
|
||||
# Migrate existing data from JSON if needed (backward compatibility)
|
||||
# Note: This is for the old database.py migration - keeping for reference
|
||||
# but in the new structure, this would be handled differently
|
||||
|
||||
# Clean up any accidentally created reserved tenants
|
||||
deleted_count = TenantModel.cleanup_reserved()
|
||||
if deleted_count > 0:
|
||||
print(f"Cleaned up {deleted_count} reserved tenant(s)")
|
||||
|
||||
app.run(port=5555, host="0.0.0.0", debug=True)
|
||||
Reference in New Issue
Block a user