GoSolo - Restaurant Reviews Application
Module Leader: Paul Laird
Group - B
Student Names:
-
Tushar Chavan (10552610)
-
Shrivardhan Limbkar (10573876)
-
Bijendra Gaur (10525552)
Project Overview
GoSolo , is an Ireland online travel company that operates a website with user-generated content. It also offers online hotel reservations and bookings for B&B, lodging, bar, clubbing experiences, and restaurants.
Project Features
- User Management
- Login / Registration – OTP based Registration
- Listing Resources & Details Page
- Resources – Restaurants / Hotel, Bars, Clubs
- Filters - By
- Price, Categories, Location, Popularities
- User Ratings & Reviews
- Read / Write reviews
- Booking page
Technologies Used
- Frontend – Angular9, Material UI, HTML5, CSS3/SCSS, TypeScript, JavaScript
- Backend – Python, Flask framework, Restful APIs, JSON
- Database – MySQL
- Hosting – Azure VM, Linux
- IDE – Visual Studio Code, phpMyAdmin, PHP workbench
- Security – JWT Token, Secure hash algorithms (hashlib, md5, salt), Email OTP based user registration
Git Repo
https://github.com/shreelimbkar/B9IS123_RRApp
Directory Structure
Getting Started
VM base URL - https://shriv.dbsprojects.ie:8080
-
Run frontend app
cd front-end npm i ng serve
application will start on http://localhost:4200/
-
Run APIs
cd api
python3 app.py --cert=cert.pem --key=privkey.pem
Application Screenshots:
Rest APIs Documentations
Screenshot
Postman Public link:https://www.getpostman.com/collections/fcaec4ce7917c658719e
POST User Login
https://shriv.dbsprojects.ie:8080/login
POST User Registration
https://shriv.dbsprojects.ie:8080/users/register
GET Get all User
https://shriv.dbsprojects.ie:8080/users
GET Get all Resources
https://shriv.dbsprojects.ie:8080/resources
GET Get all Bnbs
https://shriv.dbsprojects.ie:8080/resources/allbnbs
POST Check OTP
https://shriv.dbsprojects.ie:8080/users/checkotp
GET Get Resources by Category
https://shriv.dbsprojects.ie:8080/resources?category='hotel'
GET Get Resources by Id
https://shriv.dbsprojects.ie:8080/resourcesbyid?id=10
POST Filter Resources
https://shriv.dbsprojects.ie:8080/resources/filters
GET Get all User Reviews
https://shriv.dbsprojects.ie:8080/reviews
GET Get all User Reviews by Categroy
https://shriv.dbsprojects.ie:8080/reviews?category=2
GET Get all User Bnb Reviews
https://shriv.dbsprojects.ie:8080/reviews/bnbs
GET Get Bnb by Id
https://shriv.dbsprojects.ie:8080/resources/allbnbs?id=1
POST Add User review
https://shriv.dbsprojects.ie:8080/reviews/add
Individual Contribution
-
Tushar - Planning + Database + API (backend) + Data preparation
-
Shrivardhan - Planning + API (backend) + Database + VM project setup
-
Bijendra - Planning + Frontend + Database + API integration
Reference
- O. Ethelbert, F. F. Moghaddam, P. Wieder, and R. Yahyapour, "A JSON Token-Based Authentication and Access Management Schema for Cloud SaaS Applications," in 2017 IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud), Aug. 2017, pp. 47–53, doi: 10.1109/FiCloud.2017.29. [1]
- Bhawiyuga, M. Data, and A. Warda, "Architectural design of token based authentication of MQTT protocol in constrained IoT device," in 2017 11th International Conference on Telecommunication Systems Services and Applications (TSSA), Oct. 2017, pp. 1–4, doi: 10.1109/TSSA.2017.8272933. [2]
- S. K. Kasagoni, Building Modern Web Applications Using Angular. Packt Publishing Ltd, 2017.[3]
- M. Delisle, Creating Your MySQL Database: Practical Design Tips and Techniques. Packt Publishing Ltd, 2006.[4]
- Severance, "Discovering JavaScript Object Notation," Computer, vol. 45, no. 4, pp. 6–8, Apr. 2012, doi: 10.1109/MC.2012.132.[5]
- "hjp: doc: RFC 7523: JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants." https://www.hjp.at/doc/rfc/rfc7523.html (accessed Apr. 28, 2021).[6]
- S. Suehring, JavaScript Step by Step. Pearson Education, 2013.[7]
- M. Lutz, Learning Python: Powerful Object-Oriented Programming. O'Reilly Media, Inc., 2013.[8]
- M. Spreitzenbarth and D. J. Uhrmann, Mastering Python Forensics. Packt Publishing Ltd, 2015.[9]
- S. Suehring, MySQL bible. New York, NY: Wiley Publ, 2002.[10]
- S. J. Nielson and C. K. Monson, Practical Cryptography in Python: Learning Correct Cryptography by Example. Apress, 2019.[11]