Explore Kenya is a Flask-based web application designed to assist tourists and visitors in exploring Kenya's breathtaking scenic attractions.
The platform provides users with a seamless experience to discover, book, and plan visits to various destinations across the country.
- User registration with email and password verification
- Secure user login/logout functionality
- Browse through various scenic locations in Kenya
- View details, images, and descriptions of popular attractions
- Search functionality to quickly find destinations
- Book visits to desired destinations
- View available slots and check for fully booked locations
- Get instant booking confirmation and updates
- Notify users about available and booked-out destinations
- Provide real-time feedback on booking success or failure
| Component | Technology |
|---|---|
| Backend | Flask (Python) |
| Database | SQLite (can be extended to PostgreSQL/MySQL) |
| Frontend | HTML, CSS, JavaScript, Mako |
| Templating Engine | Jinja2 |
| Styling | Bootstrap & custom CSS |
Ensure you have the following installed on your system:
- Python 3.11.x
- SQLite (included with Python)
- Git (for cloning the repository)
Note: The current project dependencies are pinned to versions compatible with the existing Flask application. Python 3.11 is recommended for this version of the project. Python 3.14 may cause compatibility issues with the current dependency stack.
git clone https://github.com/harizonelopez/Explore--kenya.git
cd Explore--kenyaUsing Python 3.11:
py -3.11 -m venv .envWindows PowerShell:
.\.env\Scripts\ActivateWindows Command Prompt:
.env\Scripts\activatemacOS/Linux:
source .env/bin/activateIf PowerShell prevents script execution, run the following command once for your Windows user account:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
python -m pip install -r requirements.txtThe current project uses the following dependency versions:
Flask==2.2.5
Flask-SQLAlchemy==2.5.1
Flask-Login==0.6.3
Flask-Migrate==3.1.0
Flask-Mail==0.9.1
Werkzeug==2.2.3
SQLAlchemy==1.4.49
email-validator==1.3.1
python-dotenv==1.0.0
Jinja2==3.1.2
itsdangerous==2.1.2
gunicorn==21.2.0
These versions should be installed from requirements.txt to maintain compatibility with the current application.
Initialize the database migration system:
flask db init
flask db migrate -m "Initial migration"
flask db upgradeTo start the application:
python app.pyAlternatively, if Flask is configured correctly:
flask runOpen your browser and navigate to:
http://127.0.0.1:5000
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Homepage |
/signup |
POST | User registration |
/login |
POST | User login |
/logout |
GET | User logout |
/destinations |
GET | View all destinations |
/booking |
POST | Book a destination |
/search |
GET | Search for destinations |
/reset |
POST | Reset user password |
/contact |
POST | Reach out/send a message |
- Add a payment gateway for online booking payments
- Implement Google Maps API for interactive destination mapping
- Develop a review and rating system for users to share their experiences
- Improve UI/UX design for better navigation and usability
This project is licensed under the MIT License and adheres to the applicable rules and regulations.
- Harizone Lopez — Main Developer
- Contributions are welcome! Feel free to fork the repository and submit pull requests.
For any issues, please open an issue in the repository or contact:
support@explorekenya.com
Happy Exploring! 🌍