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 for enhanced styling |
Ensure you have the following installed on your system:
- Python 3.x
- SQLite (comes pre-installesd with python)
- Git (for cloning repository)
- Clone the repository
git clone https://github.com/harizonelopez/Explore--kenya.git
cd Explore--kenya- Create a virtual environment and activate it:
python -m venv venv
source venv/Scripts/activate # On Mac use `source venv/bin/activate`- Install the required packages or the dependencies:
pip install -r requirements.txt- Set Up the Database
flask db init # Initialize the database
flask db migrate -m "Initial migration"
flask db upgrade # Apply migrations to the databaseTo start the application, use the following command:
python app.pyOpen your web browser and go 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 adhered to the rules and regulations provided under the law.
- Harizone Lopez - Main Developer
- Contributions are welcome! Feel free to fork and submit pull requests.
For any issues, feel free to open an issue or contact us at
support@explorekenya.com.
Happy Exploring! 🌍