Staysia (E-Travel Website)
Documentation:
E-Commerce Website (AP2020) (Latest Submission)
Project Details
- Deployed Application : Serverless deployment to Heroku (See Github Actions)
- REST API Docs : Backend is set up as a REST API. (Documented by team on Swagger)
Stack
- Backend: Python-Flask
- Frontend: Flutter
- Databse: Firebase Cloud Firestore
- Deployment: Heroku
Local Run
Note: only possible for developers who have fbAdminConfig.json
and env.sample
(included in zip)
- Make
.env.sample
a.env
file cd
into directory and install dependencies usingpip3 install -r requirements.txt
- Run
application.py
. Confirm that it serves onhttp://127.0.0.1:5000/
. You can operate the backend separately athttp://127.0.0.1:5000/docs
cd
intofrontend
and follow instructions onhttps://flutter.dev/docs/get-started/web
.(flutter should be installed)- Run
flutter run -d chrome --web-port=3000
- Flutter will open up Chrome with application.
Look out for
-
Fuzzy Search, Normal Search, Advanced Search with User Preference Filtering (check Search Routes OR
application.py#L271-L408
) -
Recommendation Engine (check Scoring System and Graphic OR
reccomendations/data_rec.py#L278-L343
andreccomendations/reccomendation_engine.pdf
) -
User Preference Storing (check Calculating Avg Hotel and User Preference Scoring OR
reccomendations/data_rec.py#L345-L403
andreccomendations/data_rec.py#L238-L276
) -
Autogenerated Emails (check Email Code OR
application.py#L757-L787
) -
PDF Printouts (check Creating PDF and PDF Template OR
application.py#L789-L816
andtemplate.json
) -
"Others Also Stayed At" Feature (check Booking Network OR
application.py#L490-L529
) -
Bearer Token Auth (check Auth Service OR
application.py#L97-L131
) -
Cache-Control (for static files)
-
Single Page Frontend Application
Citation
- Hotel Data API : Used only for scraping data. (check Python File OR
backup/data_scraping.py
) - Swagger UI Editor : API documenting tool.
- Flutter App
- Other one line code citations done in
application.py
(search for "citation")