Wajbat
A Spring Boot appliction collaboration
Overview
Wajbat is a web application designed to provide restaurants with a dedicated space to gain recognition and attract customers in their local area. By offering a platform for restaurant owners to showcase their establishments and interact with potential customers, Wajbat aims to facilitate the growth and success of local restaurants.
Table of Contents
Overview
User Features
Restaurant Owner Features
Contributors
Technologies Used
Getting Started
Project Description
Useful Links
Acknowledgements
User Features
User Profiles: Users can create profiles that allow them to manage their orders, view their order history.
Restaurant Search: Users can quickly search for restaurants based on categories and names, enabling them to find their preferred dining options easily.
Order Placement: Users can place food orders from the available restaurants, allowing them to select dishes, and provide delivery details.
Rating and Reviews: Users have the ability to rate and review restaurants, helping others make informed choices and contributing to the overall restaurant community.
Restaurant Owner Features
Restaurant Profile Management: Restaurant owners can sign up and create profiles for their establishments. They have the flexibility to edit their menus, update their business information, and showcase their offerings.
Order Management: Restaurant owners can view incoming orders, approve or decline them, and track the progress of ongoing orders. They can also access the order history, which includes details of previous orders placed by customers.
Contributers
The success of this project was made possible by the contributions of the following individuals:
We express our heartfelt gratitude to each contributor for their dedication, hard work, and collaborative efforts. This project would not have been possible without their expertise and commitment.
If you are interested in contributing to this project, please feel free to reach out or submit pull requests. We welcome any enhancements, bug fixes, or new features that can further improve the application.
Thank you to all the contributors, including the Scrum Master, for their significant contributions and contributions in making this project a success.
Technologies Used:
Note: An Explanation to each tool set is described in Project Description
Getting Started
To use this application on your local machine, follow the steps below:
Install JDK: Ensure you have JDK 8 or a newer version installed on your machine. You can download and install JDK from the official Oracle website or use a package manager like Homebrew for macOS.
a helpfull link : JDK inastallition .
Set up Development Environment: Choose one of the following options to set up your development environment:
Spring Boot STS: Install Spring Boot STS (Spring Tool Suite) on your device. Spring Boot STS provides an integrated development environment specifically designed for Spring Boot applications. Release notes
Java IDE: Alternatively, you can use a Java code IDE such as IntelliJ IDEA or Eclipse with the Spring Boot plugin installed. A helpfull Blog on the best java IDE's
VS Code Extension: If you prefer Visual Studio Code, you can install the relevant Spring Boot extension provided by Microsoft to enhance your development experience. VsCode Extention
Clone the Project: Clone the project repository to your local machine using Git or download the ZIP file directly from the repository.
Open the Project: Open your preferred IDE and import the project by selecting the directory where the pom.xml file is located.
Build and Run: Use the IDE's build tools to resolve project dependencies and build the application. Once the build process completes successfully, run the application from your IDE.
Access the Application: Once the application is up and running, open a web browser and navigate to the provided URL or localhost to access the application locally. Follow the on-screen instructions to start using the application and explore its features.
Make sure to review any additional configuration steps or environment variables required by the application and adjust them accordingly.
With these steps, you should now be able to run the application on your local machine and start enjoying its features.
Project Description
This project encompasses a wide range of features. Let's begin by showcasing the user story:
About Us Page: Upon visiting our website's main page, users are greeted with an About Us section that includes both the Register and Sign In buttons in the top navigation bar, along with our website logo. The page boasts a user-friendly interface with a responsive design, where bootstrap grid layout is used:
Demo:
Register Page: For first-time users, the Registration page provides an intuitive sign-up process. You have the option to register as a seller or a normal user. Java validation is implemented to ensure input integrity.
Demo:
Sign In Page: If you are already a user, you will be directed to the Sign In page. Upon successful registration or signing in, appropriate feedback will be provided.
Demo
Redirection, normal user page: Redirection to Normal User Page: After successful registration or sign-in, the user will be redirected to a page displaying all the restaurants. On this page, users have the option to search for restaurants by name or by category.
Demo
Viewing the Restaurant:
Users can view detailed information about each restaurant, including its menu, contact information, and location.
Users have the option to place an order directly from the restaurant's page.
The integration of Google Maps API allows users to see the map of the restaurant's location.
We utilized the Geoencoding API provided by Google Maps to convert the restaurant's address into latitude and longitude coordinates.
The backend retrieves the location points and sends them to the frontend for rendering.
The frontend then utilizes the received location points to display the map of the restaurant's location.
To implement this functionality, JavaScript code is used. You can refer to the following example for guidance on using the API: Google Maps API Example.
you can also rate the restaurant
Demo
Cart:
When you place an order, you are prompted to proceed to checkout.
At the checkout, you have the option to either discard the cart or proceed with the order.
Upon selecting "Proceed," your order is processed.
You are then redirected to a success page to confirm the order completion.
Finally, you are redirected back to the restaurant's dashboard to continue your journey.
Demo
My Orders:
You have access to a history of your current orders as well as previous ones.
Demo
Register Your Restaurant: As a seller, once you sign up, you will be prompted to enter your restaurant information to gain access to the rest of the webpage.
Demo
View of Your Restaurant: As a seller, you have the same view as a normal user, but with two additional buttons to edit the menu or edit the profile.
Edit Your Profile: When you choose to edit your profile, you will be redirected to the same page used for registering your restaurant. This allows you to update your profile information conveniently.
Edit Menu: The edit menu feature enables you to add items to your menu, create categories, and associate them with the menu items. This way, you can easily manage and customize your restaurant's menu offerings.
Demo
My Orders (Restaurant Owner): As a restaurant owner, you have access to the list of current orders that need to be marked as delivered. Additionally, you can also view your past orders, allowing you to keep track of order history and manage the overall order fulfillment process efficiently.
Demo
and thats all :)
Useful links:
Dot env by @cdimascio
Acknowledgements
This project was a collaborative effort as part of a bootcamp with Axsos Academy, serving as the final project for the Java stack. We would like to express our gratitude to Axsos Academy for providing us with the opportunity to work on this project.
Feel free to use this application and modify it to suit your needs. If you decide to use it, we kindly ask that you mention and acknowledge our contributions.
Last updated