# Kobelly Web Solutions A professional Flask-based website for promoting small business web development services. Features multilanguage support (English, Dutch, French, German) and is fully dockerized for easy deployment. ## Features - 🌐 **Multilanguage Support**: English (EN), Dutch (NL), French (FR), German (DE) - πŸ“± **Responsive Design**: Modern, mobile-friendly interface - 🎨 **Professional UI**: Clean, modern design with Bootstrap 5 - 🐳 **Docker Support**: Easy containerization and deployment - ⚑ **Fast Performance**: Optimized for speed and performance - πŸ”§ **No Database Required**: Simple, lightweight setup ## Pages - **Home**: Hero section, features, and service overview - **Services**: Detailed service offerings with pricing information - **About**: Company story, team, and values - **Contact**: Contact form and business information ## Quick Start ### Local Development (Recommended) 1. **Install Python dependencies:** ```bash pip install -r requirements.txt ``` 2. **Run the application:** ```bash python app.py ``` 3. **Access the website:** Open your browser and go to `http://localhost:5000` ### Docker Deployment 1. **Build and run with Docker Compose:** ```bash docker-compose up --build ``` 2. **Or build and run manually:** ```bash docker build -t kobelly-website . docker run -p 5000:5000 kobelly-website ``` ## Project Structure ``` Kobelly/ β”œβ”€β”€ app.py # Main Flask application β”œβ”€β”€ requirements.txt # Python dependencies β”œβ”€β”€ Dockerfile # Docker configuration β”œβ”€β”€ docker-compose.yml # Docker Compose configuration β”œβ”€β”€ babel.cfg # Babel configuration for translations β”œβ”€β”€ templates/ # HTML templates β”‚ β”œβ”€β”€ base.html # Base template with navigation β”‚ β”œβ”€β”€ index.html # Homepage β”‚ β”œβ”€β”€ services.html # Services page β”‚ β”œβ”€β”€ about.html # About page β”‚ └── contact.html # Contact page └── translations/ # Translation files β”œβ”€β”€ en/LC_MESSAGES/messages.po β”œβ”€β”€ nl/LC_MESSAGES/messages.po β”œβ”€β”€ fr/LC_MESSAGES/messages.po └── de/LC_MESSAGES/messages.po ``` ## Multilanguage Support The website supports four languages: - πŸ‡ΊπŸ‡Έ **English** (EN) - Default - πŸ‡³πŸ‡± **Dutch** (NL) - πŸ‡«πŸ‡· **French** (FR) - πŸ‡©πŸ‡ͺ **German** (DE) Users can switch languages using the language selector in the navigation bar. The language preference is stored in the session. ## Customization ### Content Updates 1. **Text Content**: Edit the HTML templates in the `templates/` directory 2. **Translations**: Update the `.po` files in the `translations/` directory 3. **Styling**: Modify the CSS in `templates/base.html` ### Adding New Pages 1. Add a new route in `app.py` 2. Create a new template file in `templates/` 3. Add navigation link in `templates/base.html` ### Updating Translations 1. Extract translatable strings: ```bash pybabel extract -F babel.cfg -o messages.pot . ``` 2. Update translation files: ```bash pybabel update -i messages.pot -d translations ``` 3. Compile translations: ```bash pybabel compile -d translations ``` ## Configuration ### Environment Variables - `SECRET_KEY`: Secret key for Flask sessions (default: 'your-secret-key-change-in-production') - `FLASK_ENV`: Flask environment (development/production) ### Production Deployment For production deployment: 1. Set a strong `SECRET_KEY` 2. Disable debug mode 3. Use a production WSGI server (e.g., Gunicorn) 4. Set up proper SSL/TLS certificates 5. Configure a reverse proxy (e.g., Nginx) ## Technologies Used - **Backend**: Flask 2.3.3 - **Frontend**: Bootstrap 5, Font Awesome - **Internationalization**: Flask-Babel - **Containerization**: Docker, Docker Compose - **Styling**: Custom CSS with CSS variables ## Browser Support - Chrome (latest) - Firefox (latest) - Safari (latest) - Edge (latest) - Mobile browsers (iOS Safari, Chrome Mobile) ## License This project is created for demonstration purposes. Feel free to use and modify for your own business needs. ## Support For questions or support, please contact: - Email: info@kobelly.com - Phone: +32 486 21 07 07 - Address: Blijkheerstraat 92, 1755 Pajottegem, Belgium --- **Kobelly Web Solutions** - Professional web development for small businesses and entrepreneurs.