For these examples the frontend does not connect to the backend and visa vera, they are standalone services so you do not need to worry about making them work together.
To start the frontend ensure you are in the
/frontend/nunjucks
and runnpm run dev
the service will start on http://localhost:8000
To start the frontend ensure you are in the
/frontend/react-typescript
and runnpm start
the service will start on http://localhost:3000
To start the frontend ensure you are in the
/frontend/react-javascript
and runnpm start
the service will start on http://localhost:3000
- Java 11 - with Spring Boot 2.7.11
To start the backend ensure you are in the
/backend/java
and runmvn spring-boot:run
the service will start on http://localhost:8080
- Typescript - (Node 18 - see .nvmrc)
To start the backend ensure you are in the
/backend/typescript
and runnpm run build
andnpm start
the service will start on http://localhost:3010
- C# - with .NET Core 3.1 or .NET 6
To start the backend ensure you are in the
/backend/csharpdotnet-3/dotnetcore3
or/backend/csharpdotnet-6/dotnet6
and rundotnet run
the service will start on http://localhost:5050
Allow one hour to complete as much as possible. Please work as you would normally do
Advice: We would rather you did it properly and completed less than completed it all with poor quality or attention to details. We are looking for your best work.
Things to consider: code quality, unit tests, extensibility, maintainability, etc.
-
You are building a checkout system for a shop which only sells apples and oranges.
-
Apples cost 60p and oranges cost 25p.
- Create a webpage that displays both apples and oranges with plus and minus buttons to add and remove items from the cart
- Display the quantity of each item in the cart and the total cost
- Just store the data in the state of the page, no need to persist it
- No need to worry about styling unless you have time
Think about edge cases having a negative quantity of items, etc.
- Build a checkout system which takes a list of items scanned at the till and outputs the total cost. See /total endpoint
- For example: [ Apple, Apple, Orange, Apple ] => £2.05
- Make reasonable assumptions about the inputs to your solution; for example, many candidates take a list of strings as input
Think about edge cases and how you would handle them e.g. empty list, null, invalid items, etc.