Karibu Nami is a web application that is designed to assist travellers, tourists, and anyone exploring new areas who seek quick and user-friendly access to information about local establishments.
Karibu Nami is a web application that is designed to assist travellers, tourists, and anyone exploring new areas who seek quick and user-friendly access to information about local establishments.
The app aims to address the challenge of efficiently accessing and understanding information about local businesses and services when one visits an unfamiliar place. Current search methods provide information that is often not well visualized and challenging for users to digest and utilize effectively.
Video Demo
karibunamiscreenrecord.mp4
How to Insall and Run the app
The app uses MySQL as the primary database. Before running the app, there are environment variables (all strings), that the app uses and should be kept in a .env file. These are:
mail_key = password of email used # This is the app key needed in order to send verification links to users after they register. You can change the email used in the app.py file and include yours, then use the passowrd of that email
API_KEY = you need one from google before you use their api
The ones below are credentials needed to log in to your MySQL database.
MYSQLUSERNAME = your MySQL username
PASSWORD = your MYSQL password
HOST = eg localhost
DB = name of the database
With those in place, you can run the app with the following command
python3 -m server.flask_api.app
The server/flask_api/app.py file is the entry point of our app and where our flask routes lie.
The different routes available are:
/home page
/places - returns a list of places that the user searched for
/saved_places - stores a list of the places that a signed in user has saved/bookmarked.
/login - the login page
/verify_user - page to verify that signed up users have clicked on the right verification link
/reset_password - for users who want to change their account password
/resend_link - handles resending a verification link to a user after they’ve signed up
/register - for new users to sign up
/place/place_id - page with more details about a place
/log_out - allows signed in users to log out
/bookmark/place_id - Allows user to bookmark a place for future reference
Tests
The unittests are in the /tests directory. You can run the tests with the following command
python3 -m unittest discover tests
How to contribute
If you want to contribute to the project and make it better, your help is welcome. Follow the necessary steps when doing that. I'll list them below, but they won't be too detailed.
1. Fork the repository
2. Clone the repo on your local machine
3. Create a branch from which you'll make the changes
4. Make necessary changes and commit them
5. Push your changes to github.
6. Submit a pull request
The team will review and merge the changes into the main branch of this project. You will get a notification email once the changes have been merged.