- Description
- User Story
- Acceptance Criteria
- Database Structure
- WireFrame
- Technologies
- Installation
- Results
- Reach-us
- GitRepo
- App-Link
Witches Brew and Eats is a unique and enchanting food and beverage establishment, where customers can experience a mystical and magical atmosphere while enjoying delicious food and drinks. It is a place where people can come together to celebrate their love for witchcraft, magic, and all things supernatural.
As a consumer who loves all things mystical and delicious
I WANT a platform to view different menu items, make an account that tracks how many points I’ve earned, add items to my cart, and look at free recipes
SO THAT I can make an order that will be ready within 15 minutes
Scenario 1: View Menu Items
Given I am on the Witches Brew and Eats homepage
When I click on the "Products"
Then I should be able to view a list of different menu items with their prices and descriptions
Scenario 2: Create an Account
Given I am on the Witches Brew and Eats homepage
When I click on the "Register" button
Then I should be redirected to the registration page where I can create an account by providing my name, email and password
Scenario 3: Log-in to an Account
Given I am on the Witches Brew and Eats homepage
When I click on the "Login" button
Then I should be redirected to the Login page where I can enter email and password and click Submit
Scenario 4: Track My Points
Given I am logged in to my Witches Brew and Eats account
When I make a purchase
Then I should earn points based on the total amount spent, which should be displayed on my account dashboard
Scenario 5: Add Items to Cart
Given I am on the Witches Brew and Eats homepage
When I click on the "Add to Cart" button next to a menu item
Then the item should be added to my cart, and the cart total should be updated accordingly
Scenario 6: Look at Free Recipes
Given I am on the Witches Brew and Eats homepage
When I click on the "Recipes" button
Then I should be able to view a list of free recipes with their ingredients and instructions
Scenario 7: Order Ready Within 15 Minutes
Given I have added items to my cart and proceeded to checkout
When I select a pickup time
Then the platform should confirm that the order will be ready within 15 minutes
Scenario 8: Order checkout
Given I have added items to my cart and proceeded to checkout
When I click the chekout button
Then the platform should take me to the Payment gateway page
Name | Technology | Description |
---|---|---|
React | Front-end | A JavaScript library for building user interfaces. |
Node.js | Backend(server-side) | A JavaScript runtime built on Chrome's V8 JavaScript engine. |
Express.js | Backend(server-side) | A minimal and flexible Node.js web application framework. |
MongoDB | Backend(server-side) | A NoSQL database that stores data in flexible, JSON-like documents. |
Mongoose | Backend(server-side) | A MongoDB object modeling tool that provides a schema-based solution to model your application data. |
GraphQL | API | For improved API performance and efficiency. |
NPM(Node Package Manager) | Development Tool | A package manager for the JavaScript programming language. |
Git | Development Tool | A distributed version control system used for source code management. |
VS Code | Development Tool | A popular source code editor developed by Microsoft. |
JWT(JSON Web Tokens) | Other tools and technologies | A standard for securely transmitting information between parties as a JSON object. |
Heroku | Other tools and technologies | A cloud platform as a service (PaaS) used for deploying, managing, and scaling web applications. |
Stripe | Payment Processing Platform | Stripe enables businesses to accept payments online |
- Download it through Github
- Run npm i in terminal to install packages
- Running npm run develop will give you access to the Apollo Server (Graph QL) and the localhost webpage
Pages - Homepage, Login, Register, Cart, Checkout and Previous Order
https://github.com/SPloganathan
https://github.com/LenaChe2022
https://github.com/LillyRWonka