Complete v2.0 transformation: Production-ready Flask application
Major Changes: - Migrated from prototype to production architecture - Implemented modular Flask app with models/services/web layers - Added Docker containerization with docker-compose - Switched to Pipenv for dependency management - Built advanced parser extracting 63 real activities from INDEX_MASTER - Implemented SQLite FTS5 full-text search - Created minimalist, responsive web interface - Added comprehensive documentation and deployment guides Technical Improvements: - Clean separation of concerns (models, services, web) - Enhanced database schema with FTS5 indexing - Dynamic filters populated from real data - Production-ready configuration management - Security best practices implementation - Health monitoring and API endpoints Removed Legacy Files: - Old src/ directory structure - Static requirements.txt (replaced by Pipfile) - Test and debug files - Temporary cache files Current Status: - 63 activities indexed across 8 categories - Full-text search operational - Docker deployment ready - Production documentation complete 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
52
app/main.py
Normal file
52
app/main.py
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Main application entry point for INDEX-SISTEM-JOCURI v2.0
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
# Add parent directory to Python path
|
||||
sys.path.insert(0, str(Path(__file__).parent.parent))
|
||||
|
||||
from app import create_app
|
||||
from app.config import Config, ProductionConfig, DevelopmentConfig
|
||||
|
||||
def main():
|
||||
"""Main application entry point"""
|
||||
|
||||
# Ensure directories exist
|
||||
Config.ensure_directories()
|
||||
|
||||
# Determine configuration
|
||||
flask_env = os.environ.get('FLASK_ENV', 'development')
|
||||
if flask_env == 'production':
|
||||
config_class = ProductionConfig
|
||||
else:
|
||||
config_class = DevelopmentConfig
|
||||
|
||||
# Create application
|
||||
app = create_app(config_class)
|
||||
|
||||
# Print startup information
|
||||
print("🚀 Starting INDEX-SISTEM-JOCURI v2.0")
|
||||
print("=" * 50)
|
||||
print(f"Environment: {flask_env}")
|
||||
print(f"Debug mode: {app.config['DEBUG']}")
|
||||
print(f"Database: {app.config['DATABASE_URL']}")
|
||||
print("=" * 50)
|
||||
|
||||
# Run application
|
||||
host = os.environ.get('FLASK_HOST', '0.0.0.0')
|
||||
port = int(os.environ.get('FLASK_PORT', '5000'))
|
||||
|
||||
app.run(
|
||||
host=host,
|
||||
port=port,
|
||||
debug=app.config['DEBUG'],
|
||||
threaded=True
|
||||
)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user