A professional media production company website built with Flask, Bootstrap, and modern web technologies.
- Responsive Design: Mobile-first approach with Bootstrap 5
- Email Authentication: User registration and login with email verification
- Email Automation: Newsletter subscription and contact form automation
- Modern UI: Clean, professional design with smooth animations
- Multi-page Structure: Home, About, Services, Team, Work, Clients, Partners, Contact
- Interactive Elements: Smooth scrolling, form validation, and dynamic content
- Backend: Python Flask
- Frontend: HTML5, CSS3, Bootstrap 5, Vanilla JavaScript
- Email: Flask-Mail for email automation
- Styling: Custom CSS with modern design patterns
- Icons: Font Awesome 6
AFRICONNECTMEDIA/
├── app.py # Main Flask application
├── requirements.txt # Python dependencies
├── templates/ # HTML templates
│ ├── base.html # Base template
│ ├── index.html # Home page
│ ├── about.html # About page
│ ├── services.html # Services page
│ ├── team.html # Team page
│ ├── work.html # Work/Portfolio page
│ ├── clients.html # Clients page
│ ├── partners.html # Partners page
│ ├── contact.html # Contact page
│ ├── login.html # Login page
│ └── register.html # Registration page
└── static/ # Static assets
├── css/
│ └── style.css # Custom CSS
├── js/
│ └── main.js # JavaScript functionality
└── images/ # Image assets
- Python 3.7 or higher
- pip (Python package installer)
cd C:\Users\idowu\Desktop\AFRICONNECTMEDIApip install -r requirements.txt- Create a
.envfile in the project root:
MAIL_USERNAME=your-email@gmail.com
MAIL_PASSWORD=your-app-password- For Gmail, you'll need to:
- Enable 2-factor authentication
- Generate an App Password
- Use the App Password in the
.envfile
python app.pyThe application will be available at http://localhost:5000
Update the email settings in app.py:
app.config['MAIL_SERVER'] = 'smtp.gmail.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = os.environ.get('MAIL_USERNAME', 'your-email@gmail.com')
app.config['MAIL_PASSWORD'] = os.environ.get('MAIL_PASSWORD', 'your-app-password')- Company Information: Update company details in templates
- Styling: Modify
static/css/style.cssfor custom styling - Content: Edit HTML templates to match your content
- Images: Add your images to
static/images/
- User registration with email verification
- Secure login/logout functionality
- Session management
- Password validation
- Newsletter subscription
- Contact form automation
- Email verification system
- Automated responses
- Mobile-first approach
- Bootstrap 5 components
- Custom CSS animations
- Smooth scrolling effects
- Form validation
- AJAX form submissions
- Dynamic content loading
- Smooth animations
- Home: Hero section, services overview, about preview
- About: Company information, mission, vision, values
- Services: Detailed service descriptions and offerings
- Team: Team member profiles and information
- Work: Portfolio and project showcase
- Clients: Client testimonials and success stories
- Partners: Strategic partnerships and collaborations
- Contact: Contact form and company information
- Create HTML template in
templates/ - Add route in
app.py - Update navigation in
base.html
- Modify
static/css/style.cssfor custom styling - Use CSS variables for consistent theming
- Follow Bootstrap 5 conventions
- All JavaScript is in
static/js/main.js - Modular functions for different features
- Event listeners and AJAX requests
- Database: Replace in-memory storage with a proper database
- Security: Implement proper password hashing
- Environment: Use environment variables for sensitive data
- SSL: Enable HTTPS for production
- Email: Configure production email service
- Heroku: Easy Flask deployment
- DigitalOcean: VPS hosting
- AWS: Scalable cloud hosting
- PythonAnywhere: Python-focused hosting
For questions or issues:
- Check the code comments
- Review Flask documentation
- Check Bootstrap 5 documentation
- Contact the development team
This project is created for AFRI-CONNECT MEDIA. All rights reserved.
Note: This is a demo application. For production use, implement proper security measures, database integration, and error handling.