During my master’s program in Computer Science Engineering, I took the Full Stack Web Application Development ( CS5610 – Prof Jose Annunziato). Learned full stack development using Angular for the Front End and NodeJS for the backend and MongoDB as DB.
So what is this project about?
Banquet – An online booking platform for events just like AirBnb but it is for hosting events and parties!
Here is the app in action!
Project Description
Problem: When we have to book a place for hosting a party/ ceremony/ gathering we don’t find all the relevant info in one place. After finding a venue for the event, it has to be verified by actually visiting the place or calling the manager. The user has to rely on the information provided by the manager. There is no review system, and the user has to verify the information by visiting the place. There is also no online payment system for booking.
Solution: Banquet is to solve the above issues and provide a platform where users can view the places that match their requirements and finally book that hall/ place for the celebration. And Owners can manage the bookings.
Two actors: Manager, who is the owner managing a particular hosting place, and User, who wants to find and rent the place for the event.
Use Case Analysis:
- Property Manager
- Adding a Property
- The manager adds all the parameters of the property, by filling out information form related to it. Eg. The capacity of the Hall, Parking facility, times during for which it will be available.
- Approval of the User Request by Manager
- When user requests for the property for the particular date he puts a request for the manager of that property. Once the manager gets the request for the booking he can review it and approve/cancel the given request.
- Manager Updates the information about the property
- The manager goes to his property listings selects property which he wants to update. Changes the parameters and saves the parameters.
- Manager removes property as undergoing changes/ Deletes the property permanently
- Manager can remove the listing of the property anytime if he feels that the property needs to have some changes/ upgrades then the property will be labeled as undergoing changes
- Permanent deletion of the property will cause the removal of the property altogether.
- Manager post past experiences
- the manager can tell his/her past experiences about the event he managed in the past at the given property.
- this feature will help users to understand how manger is managing his property, will be helpful or not
- User (Who is looking for a property to rent)
- Property search
- user searches based on criteria as City or State or Place, he gets the lists of properties matching to his requirement , he Browses through the listings of the properties
- Selection of the property
- User Selects the property, views its details and then he can add it to a cart.
- Cart View
- user can view the property he selected and can confirm the cart. and once the cart is placed for the order he has to wait for the approval from the manager.
- User can review the property
- user goes to property page and can write about his experience at the event so that other users can get the idea that how was the event what can be different challenges etc.
- User can review the property manager
- After the usage of the property, the user can write user reviews about how was it? was service useful? was the manager was supportive enough? overall his even managing skills
- The user review about the manager will help other users to have a recommendation about the manager and it gives how helpful the manager os for the event that will be hosted
Conclusion:
I loved the end to end design and structure of the course, the first time I’ve worked on the Full Stack kind of project, the outcomes are Learning AngularJS, NodeJS and MongoDB Crud Operations.
The Course not only talks about the front and back end it also teaches about the security of the application, session mgmt, integration of user logins with Social Media platforms like Facebook, etc, but Different Roles and Views based on the role of the user, like Admin functions also shouldn’t be accessible to the normal user, etc., how to host the app? using GitHub, Red-hat openshift etc.
CodeBase:
Feel free to fork and add your own changes: