Ferovinum provides capital to businesses in the wine and spirits industry.
This project demonstrates a simplified version of Ferovinum's trading platform, focusing specifically on wine and whisky inventory transactions. While Ferovinum offers comprehensive financing solutions across the wine and spirits industry, this application narrows in on the core trading functionality:
- Viewing existing inventory that has been sold to Ferovinum
- Executing new trades by selling additional inventory to Ferovinum
In this assignment, we showcase a very small slice of our business. In a typical scenario, a company would get funding from us by selling us their inventory (at a certain quantity/price).
You are expected to get familiar with this solution and come prepared for a code pairing interview.
The best place to start is src/app/page.tsx
. It has most if not all of the functionality.
You are not expected to have depth in any of:
- tailwind
- shadcn/ui
- next.js
- @tanstack/table
- Spring Boot
The project uses a Spring Boot server with H2 database. To start the server:
# On Unix-like systems:
./gradlew bootRun
# On Windows:
gradlew.bat bootRun
This starts the API at http://localhost:4001.
You can access the H2 database console at http://localhost:4001/h2-console with:
- JDBC URL: jdbc:h2:mem:ferovinum
- Username: sa
- Password: (leave empty)
We only make use of 2 APIs:
POST /stocks
GET /stocks?client_id=
In another terminal, run the app:
npm run dev
Open http://localhost:4000 with your browser to see the result.
To learn more about the technology used, take a look at the following resources:
- React Documentation - learn about React.
- TypeScript Documentation - learn about TypeScript.
- Tailwind Documentation - learn about Tailwind.
- shadcn/ui Documentation - learn about shadcn/ui.
- Learn Next.js - an interactive Next.js tutorial.
- Tanstack Table Documentation - learn about Tanstack Table.
- Spring Boot Documentation - learn about Spring Boot.