{"id":13706764,"url":"https://github.com/level09/enferno","last_synced_at":"2025-04-04T22:08:35.319Z","repository":{"id":18458031,"uuid":"21652207","full_name":"level09/enferno","owner":"level09","description":"This collection of modern libraries and tools, built on top of the Flask framework, allows you to quickly create any website or web-based application (SAAS) with impressive speed.","archived":false,"fork":false,"pushed_at":"2024-03-29T11:04:59.000Z","size":8578,"stargazers_count":470,"open_issues_count":9,"forks_count":74,"subscribers_count":23,"default_branch":"master","last_synced_at":"2024-04-14T19:24:32.700Z","etag":null,"topics":["celery","css","docker","flask","hackathon","postgresql","python","redis","saas","sqlalchemy","sqlite","vue","vuetify","webframework"],"latest_commit_sha":null,"homepage":"https://enferno.readthedocs.io/","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/level09.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-07-09T12:57:38.000Z","updated_at":"2024-06-08T12:42:29.023Z","dependencies_parsed_at":"2023-02-12T06:16:09.990Z","dependency_job_id":"21875d52-24d4-4f61-8ffe-e97777dc33c9","html_url":"https://github.com/level09/enferno","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/level09%2Fenferno","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/level09%2Fenferno/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/level09%2Fenferno/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/level09%2Fenferno/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/level09","download_url":"https://codeload.github.com/level09/enferno/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247256115,"owners_count":20909240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["celery","css","docker","flask","hackathon","postgresql","python","redis","saas","sqlalchemy","sqlite","vue","vuetify","webframework"],"created_at":"2024-08-02T22:01:07.549Z","updated_at":"2025-04-04T22:08:35.314Z","avatar_url":"https://github.com/level09.png","language":"CSS","readme":"# Project Enferno\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nEnferno is a modern Flask framework optimized for AI-assisted development workflows. By combining carefully crafted development patterns, smart Cursor Rules, and modern libraries, it enables developers to build sophisticated web applications with unprecedented speed. Whether you're using AI-powered IDEs like Cursor or traditional tools, Enferno's intelligent patterns and contextual guides help you create production-ready SAAS applications faster than ever.\n\n![Enferno Demo](docs/enferno-demo.gif)\n\nKey Features\n===========\n- **Modern Stack**: Python 3.11+, Flask, Vue 3, Vuetify 3\n- **Authentication**: Flask-Security with role-based access control\n- **OAuth Integration**: Google and GitHub login via Flask-Dance\n- **Database**: SQLAlchemy ORM with PostgreSQL/SQLite support\n- **Task Queue**: Celery with Redis for background tasks\n- **Frontend**: Client-side Vue.js with Vuetify components\n- **Security**: CSRF protection, secure session handling\n- **Docker Ready**: Production-grade Docker configuration\n- **Cursor Rules**: Smart IDE-based code generation and assistance\n- **Package Management**: Fast installation with uv\n\nFrontend Features\n---------------\n- Vue.js without build tools - direct browser integration\n- Vuetify Material Design components\n- Axios for API calls\n- Snackbar notifications pattern\n- Dialog forms pattern\n- Data table server pattern\n- Authentication state integration\n- Material Design Icons\n\nOAuth Integration\n---------------\nSupports social login with:\n- Google (profile and email scope)\n- GitHub (user:email scope)\n\nConfigure in `.env`:\n```bash\n# Google OAuth\nGOOGLE_AUTH_ENABLED=true\nGOOGLE_OAUTH_CLIENT_ID=your_client_id\nGOOGLE_OAUTH_CLIENT_SECRET=your_client_secret\n\n# GitHub OAuth\nGITHUB_AUTH_ENABLED=true\nGITHUB_OAUTH_CLIENT_ID=your_client_id\nGITHUB_OAUTH_CLIENT_SECRET=your_client_secret\n```\n\nPrerequisites\n------------\n- Python 3.11+\n- Redis (for caching and sessions)\n- PostgreSQL (optional, SQLite works for development)\n- Git\n- uv (fast Python package installer and resolver)\n\nQuick Start\n----------\n\n### Local Setup\n\n1. Install uv:\n```bash\n# Install using pip\npip install uv\n\n# Or using the installer script\ncurl -sSf https://astral.sh/uv/install.sh | bash\n```\n\n2. Clone and setup:\n```bash\ngit clone git@github.com:level09/enferno.git\ncd enferno\n./setup.sh  # Creates Python environment, installs requirements, and generates secure .env\n```\n\n3. Activate Environment:\n```bash\nsource .venv/bin/activate\n```\n\n4. Initialize application:\n```bash\nflask create-db  # Setup database\nflask install    # Create admin user\n```\n\n5. Run development server:\n```bash\nflask run\n```\n\n### Docker Setup\n\nOne-command setup with Docker:\n```bash\ndocker compose up --build\n```\n\nThe Docker setup includes:\n- Redis for caching and session management\n- PostgreSQL database\n- Nginx for serving static files\n- Celery for background tasks\n\nConfiguration\n------------\n\nKey environment variables (.env):\n\n```bash\n# Core\nFLASK_APP=run.py\nFLASK_DEBUG=1  # 0 in production\nSECRET_KEY=your_secret_key\n\n# Database (choose one)\nSQLALCHEMY_DATABASE_URI=sqlite:///enferno.sqlite3\n# Or for PostgreSQL:\n# SQLALCHEMY_DATABASE_URI=postgresql://username:password@localhost/dbname\n\n# Redis \u0026 Celery\nREDIS_URL=redis://localhost:6379/0\nCELERY_BROKER_URL=redis://localhost:6379/1\nCELERY_RESULT_BACKEND=redis://localhost:6379/2\n\n# Email Settings (optional)\nMAIL_SERVER=smtp.example.com\nMAIL_PORT=465\nMAIL_USE_SSL=True\nMAIL_USERNAME=your_email\nMAIL_PASSWORD=your_password\nSECURITY_EMAIL_SENDER=noreply@example.com\n\n# OAuth (optional)\nGOOGLE_AUTH_ENABLED=true\nGOOGLE_OAUTH_CLIENT_ID=your_client_id\nGOOGLE_OAUTH_CLIENT_SECRET=your_client_secret\n\nGITHUB_AUTH_ENABLED=true\nGITHUB_OAUTH_CLIENT_ID=your_client_id\nGITHUB_OAUTH_CLIENT_SECRET=your_client_secret\n\n# Security Settings\nSECURITY_PASSWORD_SALT=your_secure_salt\nSECURITY_TOTP_SECRETS=your_totp_secrets\n```\n\nSecurity Features\n---------------\n- Two-factor authentication (2FA)\n- WebAuthn support\n- OAuth integration\n- Password policies\n- Session protection\n- CSRF protection\n- Secure cookie settings\n- Rate limiting\n- XSS protection\n\nFor detailed documentation, visit [docs.enferno.io](https://docs.enferno.io)\n\nContributing\n-----------\nContributions welcome! Please read our [Contributing Guide](CONTRIBUTING.md).\n\nLicense\n-------\nMIT licensed.\n\n\n","funding_links":[],"categories":["Python","Web Development","CSS","介绍"],"sub_categories":["Flask"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevel09%2Fenferno","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flevel09%2Fenferno","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flevel09%2Fenferno/lists"}