A web application that helps users choose appropriate statistical models based on their data characteristics and analysis goals.
- Model Recommendations: Get suggestions for statistical models based on your data type and analysis goals
- User Accounts: Save analysis history and track previous recommendations
- Expert Mode: Advanced features for experienced statisticians
- PDF/Word Export: Export analysis results and recommendations
- Admin Dashboard: User management and system monitoring
- Optional AI Chat: Enhanced recommendations with AI assistance (requires heavy ML dependencies)
- Clone and setup:
git clone https://github.com/codoom1/statistical-model-suggester.git
cd statistical-model-suggester
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt # Core app (~100MB)
pip install -r requirements-dev.txt # + Development tools- Run the app:
export FLASK_SECRET_KEY='your-secret-key-here'
python app.py
# Visit: http://localhost:8084requirements.txt: Core production dependencies (Flask, SQLAlchemy, scikit-learn, basic plotting) The app gracefully handles missing optional dependencies (like PDF export libraries).
export FLASK_SECRET_KEY='your-secret-key-here'
python app.py
# Visit: http://localhost:8084- Create a Web Service on Render and connect your GitHub repository
- Build Command:
pip install -r requirements.txt && python render_build.py - Start Command:
gunicorn app:app - Add a PostgreSQL database and Render will set
DATABASE_URLautomatically
Required Environment Variables:
FLASK_ENV=production
SECRET_KEY=<your-secure-random-key>
ADMIN_USERNAME=<your-admin-username>
ADMIN_EMAIL=<your-admin-email>
ADMIN_PASSWORD=<your-secure-admin-password>Optional (for email notifications):
MAIL_SERVER=<smtp-server>
MAIL_USERNAME=<email>
MAIL_PASSWORD=<password>Optional (for AI features):
AI_ENHANCEMENT_ENABLED=true
HUGGINGFACE_API_KEY=<your-key>├── app.py # Main Flask application
├── models.py # Database models
├── requirements.txt # Core dependencies
├── requirements-dev.txt # Development tools
├── routes/ # Route handlers
├── templates/ # HTML templates
├── static/ # CSS, JS, images
├── utils/ # Helper functions
├── tests/ # Test suite
└── data/ # Model database
pip install -r requirements-dev.txt
python -m pytest tests/ -v- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see LICENSE file for details.