A WordPress-based web application with Flask backend and Redis caching.
This project consists of two main components:
- WordPress frontend
- Flask backend with Redis caching
- Standard WordPress installation with custom themes and plugins in
wp-content/ - Core WordPress files in root directory
- Admin interface accessible at
/wp-admin
- Python Flask application (
app.py) - Redis caching for improved performance
- Docker containerization for easy deployment
- Docker and Docker Compose
- Git
- PHP 7.4 or higher
- MySQL 5.7 or higher
- WordPress CLI (optional)
- Clone the repository:
git clone [repository-url]
cd fameve-app-
Configure WordPress:
- Copy
wp-config-sample.phptowp-config.php - Update database credentials and other settings in
wp-config.php:define('DB_NAME', 'your_database_name'); define('DB_USER', 'your_database_user'); define('DB_PASSWORD', 'your_database_password'); define('DB_HOST', 'localhost'); define('DB_CHARSET', 'utf8mb4'); define('DB_COLLATE', '');
- Set up security keys in
wp-config.php - Configure Redis connection settings
- Copy
-
Start the application using Docker Compose:
docker-compose up --buildThe application will be available at:
- WordPress frontend: http://localhost:8000
- Flask backend: http://localhost:8000
The project includes several themes:
fameve-app/- Custom theme for the main applicationastra/- Popular multipurpose themethe-launcher/- Coming soon page theme- Default WordPress themes (twenty-twenty series)
Essential plugins included:
wpforms-lite/- Contact form builderwp-github-sync/- GitHub integrationultimate-addons-for-gutenberg/- Enhanced Gutenberg blockspresto-player/- Video playerastra-sites/- Theme demo importerakismet/- Spam protection
To modify the custom theme:
- Navigate to
wp-content/themes/fameve-app/ - Edit template files in the theme directory
- Use WordPress child theme for customizations
- Test changes in a staging environment
- Install new plugins through WordPress admin or manually in
wp-content/plugins/ - Keep plugins updated for security and performance
- Use compatible versions with WordPress core
The Flask backend provides a simple API endpoint that demonstrates Redis caching:
/- Returns a hit counter that persists across requests using Redis
WordPress development can be done by:
- Modifying themes in
wp-content/themes/ - Adding plugins in
wp-content/plugins/ - Customizing WordPress configuration in
wp-config.php
The project uses Docker Compose with two services:
web: Flask application containerredis: Redis cache container
- 8000:5000 - Maps container port 5000 to host port 8000
- Use Docker Compose for local development
- Enable WordPress debug mode in
wp-config.php:define('WP_DEBUG', true); define('WP_DEBUG_LOG', true);
- Use local database for development
- Set up a staging server with similar configuration
- Use staging-specific database
- Enable error logging
- Test all features before production deployment
- Configure production database
- Disable debug mode
- Set up SSL certificates
- Configure proper security headers
- Set up automated backups
- Enable caching plugins
- Configure CDN if needed
- Enable Redis object caching
- Configure browser caching
- Optimize images and assets
- Use a CDN for static content
- Enable GZIP compression
- Flask
- Redis
- Standard WordPress core files
- Custom themes and plugins in wp-content directory
- PHP extensions:
- mysqli
- curl
- gd
- xml
- zip
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
This project is licensed under the terms specified in the license.txt file.