welcome to Booking clone by ahmeddrawy and MostafaOmar98
####client Functionalities
- User registration
- User must provide
Email
andusername
. - User must check reCaptcha to avoid spam.
- using Ajax to validate Email and username.
- If
Email
andUsername
provided passes verification, an Email is sent to the Email provided with random generated password to Login with. - Admins only can register new Admins.
- User must provide
- login
- User provide Email and password.
- using Ajax to validate
Email
andPassword
provided passes verification. - if User is authenticated, application redirect them to their
Home
page.
- search for hotels
- book a hotel room
- Add Hotel review
- Edit his profile
- Register new Admins
- Add new Hotels to website
- Check clients' reviews for hotels
- Update Hotels' data
-
Presentation Layer
- has all User interaction logic, handling the first layer of interaction and responses
- handling JSON responses and Html responses
- using an exposed interface from Business layer to authenticate and authorize users
- catching exceptions from lower layers and use a factory class to act with user interactions providing certain messages in case of certain Exceptions
-
Business Layer.
- Has backend validation on input data
- Interact with Model layer - Database -
- throws exceptions in case of failure.
- has DTOs to provide for presentation layer to expose certain parts of our
Model
-
Model Layer.
- has DAO to interact with database
- has Entity classes