Unicorn Store
- Alborz Gharabaghi
- Benedict Miguel
- Orion Nelson
- Sidharth Sudarsan
A convenience company wants to create an online store. You must design, implement, test and deploy a
web application that supports Customers and Administrators to interact with the e-store.
Registered Customers can execute several use cases such as:
- List catalogue items
- Filter catalog items by type
- Filter catalog items by brand
- View details of a product
- Add items to shopping cart
- Edit or remove items from the shopping cart
- “Check out” by providing credit card information and shipping information to purchase the items
in the shopping cart
- Write reviews on items
- Register
- Sign in
- Sign out
Administrators: are the owners of the store; they have access to the following use cases:
- Run Reports on sells
- Run reports on application usage
An ideal application will be deployed like this:
- Your e-commerce application should be deployed in cloud, at a public address.
- The database runs in cloud
- On Moodle you provide the design document, testcases, a link to the application.
It is important that the architecture of your store exhibits:
- Clear separation between front and backed
- A Web API that mediates between front- and back-end
- Testcases (based on curl) for the backend
- Good coding style (modularity, comments, readability, etc.)
- Architecture and Design patterns (MVC, Observer, DAO, etc.)
- Robustness to user inputs
- Quality attributes (performance, security)
A single zip file containing the following (in a reasonable folder hierarchy) main components
- A Design Document
- A link to your deployed application in the cloud.
- A link to the git repository (private)
Your project (github) should contain
- documented and well organized source code
- SQL file used to create and populate the database tables (need to extend the schema provided below)
- A script with testcases (curl commands) for the backend APIs
- readme file explaining how to run it; also how the TA should ran the test cases.