Semester Project 2 brief
Goal
To take the skills learned over the past three semesters and create an auction website. This is an individual assessment of your learning. You must demonstrate your ability to take a business problem and create and end to end solution using web technologies.
Learning outcomes
- To be able to build a website using HTML, CSS and JavaScript.
- To be able to use a REST API to fetch data from a API.
- To ba able to test your website.
- To be able to use a JavaScript to add functionality to your website.
- To be able deploy your website to a hosting platform.
Duration
You have five weeks in total.
Brief
An auction site is looking to launch a fully responsive website where users can add items to be bid on and bid on items other users have put up for auction.
When a new user joins the website, they are given 1000 credits to use on the site. They can get credits by selling items and use credit by buying items. Non-registered users can search through the listings, but only registered users can make bids on listings.
Requirements
All API functionality is managed by an existing application. This project only covers the front-end application for the API.
API
The API you are using for this project can be found under Auction EndPoints in the Noroff API documentation.
Resources
User stories/ Minimum acceptance criteria
The client has specified the following requirements in the form of User Stories:
- A user with a
stud.noroff.no
email may register - A registered user may login
- A registered user may logout
- A registered user may update their avatar
- A registered user may view their total credit
- A registered user may create a
Listing
with a title, deadline date, media gallery and description - A registered user may add a
Bid
to another user’sListing
- A registered user may view
Bid
s made on aListing
- An unregistered user may search through
Listing
s
Optional success criteria
- Write a e2e test for Login usesr journey
- Write a e2e test for Non-registred users can search through listings
- Write a e2e test for Registered users can add a bid to another user’s listing
- Write a e2e test for Registered users can careate bids made on a listing
- Repo has a staging enviroment.
- Repo has a production enviroment.
- UI has fluid animation.
- Media is optimised for web.
- UI had loading states.
- Forms support autocomplete.
Technical restrictions
The company CTO has set the following technical restrictions:
- Must use an approved
CSS Framework
- Must be hosted on an approved
Static Host
- Must use an approved
Design Application
- Must use an approved
Planning Application
Required links
The Product Owner has requested links to the following:
- A Gantt chart for project timing
- A design prototype
- A style guide
- A kanban project board
- A repository link
- A hosted application demo link
Approved resources
This list covers libraries and services that have been vetted by the company and approved for use.
CSS processors
- SASS/SCSS
- PostCSS
- Tailwind (version >3.0.0)
- Modules CSS
- Styled-components
- Emotion
CSS frameworks
You are free to use a component library such as ShadeCN, Bootstrap, DaisyUI, etc.
- Bootstrap (version >5.0.1)
- React Bootstrap (SASS)
- MUI (version >5.11.8)
- Material UI (Emotion/ styled-components)
- Mantine (Emotion/ styled-components)
- Shade CN (Tailwind)
- Rebass (Styled-components)
- Grommet (Emotion/ styled-components)
- More
Hosting services
- GitHub Pages
- Netlify
- Vercel
- Misc: Any other static hosting service.
Design applications
- Figma (Preferred)
- Adobe XD
- Sketch
Planning applications
You are free to use any planning application you wish, but it must be able to produce a Gantt chart.
- GitHub Projects
- Figma
- Trello
- Jira
- Asana
Delivery
Include the required links in the Moodle delivery window using this template format.
All final changes must be merged into the default branch main
or master
. Other branches will not be checked.
Ensure that the readme.md
file describes your project thoroughly, including how to setup and run the project locally and any special instructions for testers.
Required Delieverables
- A link to your deployment production website (Netlify/ Vercel/ GitHub Pages)
- A link to your Public GitHub repo
- A report of your project.
- A link to High fidelity design (Figma)
Optional Deliverables
- A link to your report.
- A link to your gantt chart or Kanban project board.
- A video summary of you explaing your project.
- A link to Low fidelity design (Figma)
- A link to Prototype (Figma)
Recommended stack
- React
- Vitest with RTL (React testing library)
- Cypress e2e Testing
- TanStack/Query
- Tailwind CSS
- shadcn UI
- formkit/auto-animate
- MSW (Mock Service Worker)
- React Router