- If you are on Windows, run the following line before cloning the repo: git config —global core.autocrlf true
- Call "vagrant up"
- Go to localhost:11000
In today's world, people can lead a hectic, always on-the-go lifestyle.
Food2Go is a website that offers people a convenient and time-saving way
of getting diversified food. Often is the cases are when people are unable
to enjoy a nice meal due to time constraint, inconvenience or even
indecisiveness.
Food2Go not only allows people to browse, search and review restaurants,
the website is allowed the option of having the food delivered to them.
Food2Go is partnered with restaurants, helping the restaurateurs to
spread awareness and generate revenues for their business.
By adding the game-changing factor of delivery, we can save people's time
by cutting out travel time, wait in line and deal with a busy restaurant
setting.
- Database: Postgresql
- Backend: Play 1 Framework
- FrontEnd: ReactJs
- Webserver: Nginx
- CI: TeamCity (http://alanzheng.com:8080) -> log in as Guest
- Project Management: Gitlab and Mingle (https://equinox.mingle.thoughtworks.com/projects/cmpt_470/cards/grid?color_by=Priority&favorite_id=2&filters%5B%5D=%5BType%5D%5Bis%5D%5BStory%5D&group_by%5Blane%5D=Status&lanes=New%2CComplete%2CTesting%2CDevelopment&tab=Card+Wall) -- username: [email protected] | password: password-1
- Testing Framework: Postman, Frisby
- Test Runner: Jasmine-node
- Automated Tests: Unit tests and API Tests for serverside run on every build
- Restful Api
- Design using API first approach
- API follows REST standards
- Authorization and authentication
- clear separation between frontend and backend
- User
- Log in with basic authentication
- Cookie saved with session and has a timeout of 1 day.
- Can set roles as customer or restaurant owner
- Can change user info (including password)
- Food
- Browse
- Add to Cart
- Review and Confirm Order
- Restaurants
- browse
- upload images (food, menu, etc)
- Point System
- Checkout system
- Shopping Cart
- Checkout
- Add food to shopping cart
- Go to http://localhost:9000 to manually warmup server url (for now)
- Go to http://localhost:9000/api/users (note the list of default users)
- Go to http://localhost:11000
- Click Register button
- Enter information (validation present -- frontend)
- Press submit button
- Pop up shows successful registration
- Go to http://localhost:9000/api/users (verify user has been created)
- Create
- Browse
- Retrieve images
Registration
- Click on the Register Link on the top right of the website.
- Enter in your information and select your roles, either as a customer or a restaurant owner. (Customer and restaurant owner will have different functionalities)
-
Click on the Login Link on the top right of the website.
-
Enter your email and password to login.
-
Some default users: Email: [email protected] Password: password1 Role: Customer
Email: [email protected] Password: password1 Role: Restaurant Owner
- When logged in, click on User -> My Account
- View and update your account information
- View your orders and points.
- Login as a restaurant owner
- Click on create restaurant near the top
- Enter restaurant information
- Select images for the restaurant
- Click on Create Restaurant
- Click on Restaurant link at the top or "Browse Restaurant" button at the homepage
- Select a restaurant from the list
- Click on Order Now
- Select the food item you want to order by clicking "Select item" below the item picture to add to shopping cart
- Notice the item number increase in Shopping Cart at top right
- Once completed, Click on Shopping Cart link on the top right
- Register or Login as customer or restaurant owner if not done so.
- Click on Shopping Cart link on the top right
- Review the order and click Checkout at the bottom
- Enter in your address and payment information and Click Place Order at the bottom
- Click on Browse Food
- Click on the food you want from the list
- Click on Add to Cart
- Notice the item number increase in Shopping Cart at top right
- Register or Login as customer or restaurant owner if not done so.
- Click on Shopping Cart link on the top right
- Change the quantity and notice the price change
- Click Checkout at the bottom
- Enter in your address and payment information and Click Place Order at the bottom
- Click on the Order to view order detail
- Links to Facebook, Twitter, email available at bottom right
- click on a few links
- press the back button (notice that the url does not change)