# A8: Vertical Prototype
The prototype developed in this artefact includes the implementation of some user stories to validate the architecture defined and learn the usage of the technologies required by this project. It includes the implementation of pages of visualization and the possibility to interact with some functionalities. Besides this, the access control of the website pages is also implemented, along with a presentation of the error and success messages.
## 1. Implemented Features
### 1.1. Implemented User Strories
| User Story reference | Name | Priority | Description |
| -------------------- | ---------------------- | -------- | ------------- |
| US001 | See Home | High | As a User, I want to access the website homepage, so that I can have an overview of the ongoing auctions and links for the other pages.|
| US002 | Advanced Search | High | As a User, I want to search for all the public information, so that I can filter the auctions by the highest bids, the creation date, the car model brand, scale, colour, seller, or the remaining time. |
| US003 | Auction Page | High | As a User, I want to be able to see an auction’s information, so that I can know more about the car model being sold. |
| US004 | See About Us | Medium | As a User, I want to access the About Us page, so that I can see a complete website's description.|
| US005 | Profile Page | Medium | As a User, I want to see the profile page of another user, so that I can search all the auctions from this chosen user. |
| US006 | FAQ Page | Low | As a User, I want to access the FAQ, so that I can see Frequently Asked Questions about the website. |
| US101 | Sign-In | High | As a Visitor, I want to log in to the system, so that I can access privileged features. |
| US102 | Sign-Up | High | As a Visitor, I want to register myself into the system, so that I can store all my data in a personal account.|
| US300 | Profile Page | High | As a Registered User, I want to have a profile page, so that I can view and update my personal information, favourites, and statistics. |
| US301 | Logout | High | As a Registered User, I want to logout, so that I can leave the system. |
| US401 | Create an Auction | High | As a Seller, I want to create an auction, so that I can sell a model car. |
| US403 | "Buy Now" Option | Low | As a Seller, I want to have the option to set a "Buy Now" price for the auction, so that I can give the opportunity to sell the car model instantaneously. |
| US501 | Bid in a given auction | High | As a Bidder, I want to bid in a given auction, so that I can try to buy the given model car. |
| US503 | Comment an auction | Low | As a Bidder, I want to write a comment in an ongoing auction, so that the other users can be informed of my interest. |
### 1.2. Implemented Web Resources
**Module M01: Static pages**
| Web Resource Reference | URL |
| ---------------------- | ---------------- |
| [R101: View home page](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | [/](http://lbaw2155.lbaw-prod.fe.up.pt/) |
| [R102: About Us Page](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | [/about](http://lbaw2155.lbaw-prod.fe.up.pt/about) |
| [R103: FAQs Page](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | [/faqs](http://lbaw2155.lbaw-prod.fe.up.pt/faqs) |
**Module M02: Authentication**
| Web Resource Reference | URL |
| ---------------------- | ---- |
| [R201: Login Form](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | [/login](http://lbaw2155.lbaw-prod.fe.up.pt/login) |
| [R202: Login Action](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | POST /login |
| [R203: Logout Action](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | POST /logout |
| [R204: Signup Form](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | [/register](http://lbaw2155.lbaw-prod.fe.up.pt/signup) |
| [R205: Signup Action](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | POST /register |
**Module M03: Auctions**
| Web Resource Reference | URL |
| ---------------------- | ---- |
| [R301: View search page](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | [/auctions/search](http://lbaw2155.lbaw-prod.fe.up.pt/auctions/search) |
| [R302: View auction page](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | [/auctions/{id}](http://lbaw2155.lbaw-prod.fe.up.pt/auctions/1) |
| [R304: Bid in auction](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | POST /auctions/{id}/bids
| [R309: Create new auction](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | [/auctions/create](http://lbaw2155.lbaw-prod.fe.up.pt/auctions/create) |
| [R310: Create new auction Action](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | POST /auctions/create |
| [R311: Get all featured auctions](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | GET /api/auctions/featured |
| [R312: Get search results](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | GET /api/auctions/search
| [R314: View auction bid history](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | GET /api/auctions/{id}/bids
| [R316: View all comments in auction](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | GET /api/auctions/{id}/comments |
| [R317: Comment in auction](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | POST /api/auctions/{id}/comments
| [R321: Available Colours](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | GET /api/colours |
| [R322: Available Brands](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | GET /api/brands |
| [R323: Available Scales](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | GET /api/scales |
| [R323: Available Sellers](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | GET /api/sellers |
**Module M04: Users**
| Web Resource Reference | URL |
| -----------------------| ---- |
| [R401: View user profile](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | [/users/{username}](http://lbaw2155.lbaw-prod.fe.up.pt/users/rkemmey1x)
| [R416: User bid history](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | GET /api/users/{username}/bids |
| [R417: Auctions created by the user](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | GET /api/users/{username}/auctions
| [R418: User Favourite Auctions](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | GET /api/users/{username}/fav_auctions |
| [R421: User Favourite Sellers](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | GET /api/users/{username}/fav_sellers |
| [R424: Ratings given to the user](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | GET /api/users/{username}/ratings |
| [R425: Ratings given by the user](https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155/-/wikis/eap#a7-high-level-architecture-privileges-web-resources-specification) | GET /api/users/{username}/rated |
## 2. Prototype
The prototype is available at http://lbaw2155.lbaw-prod.fe.up.pt/
Credentials:
* regular user: aflowerden0@posterous.com/aflowerden0
* regular user: rkemmey1x@homestead.com/rkemmey1x
* regular user: fbrauned@cam.ac.uk/fbrauned
The code is available at https://git.fe.up.pt/lbaw/lbaw2021/lbaw2155