Overview • Setup • Screenshots
This is a web app that allows users to buy and sell products through product listings. The design of the app is heavily inspired by Blocket (a Swedish website similar to Facebook marketplace). The application consists of a frontend made with the JavaScript framework Next.js and a backend made with the Java framework Spring Boot.
- Create product listings with image(s), description, price etc.
- Search for product listings by various search criteria
- Subscribe to new listings in chosen product categories
- Purchase history
- UI for desktop & mobile
- Git version >= 2.13
- Java JDK version >= 21
- Node.js version >= 20
- A PostgreSQL DB instance set up with the provided
schema.sql
- (Optional) Docker for running backend tests
Note
Make sure Docker is running before executing the following command:
Download, build, and run:
git clone --recurse-submodules https://github.com/luxcorel/marketplace && \
cd ./marketplace && \
cd ./backend && \
mv ./.env.example ./.env && \
./gradlew build -x test && \
cd .. && \
cd ./frontend && \
mv ./.env.example ./.env && \
npm install && \
cd .. && \
docker-compose up --build
Download & build:
git clone --recurse-submodules https://github.com/luxcorel/marketplace && \
cd ./marketplace && \
cd ./backend && \
mv ./.env.example ./.env && \
./gradlew build -x test && \
cd .. && \
cd ./frontend && \
mv ./.env.example ./.env && \
npm install && \
cd ..
After the command above finishes, required environment variables need to be set:
- Open
backend/.env
with a text editor and follow the instructions in the file. - Open
frontend/.env
with a text editor and follow the instructions in the file.
Lastly, to run the project:
- Run
cd backend && ./gradlew bootRun
to start the backend server. - Run
cd frontend && npm run dev
to start the frontend server.
If everything was successful:
- Frontend server @ http://localhost:3000
- Backend server @ http://localhost:8080
Download & build:
Invoke-Command -ScriptBlock {
$ErrorActionPreference="Stop";
git clone --recurse-submodules https://github.com/luxcorel/marketplace ; `
cd .\marketplace ; `
cd .\backend ; `
ren .\.env.example .\.env ; `
.\gradlew build -x test ; `
cd .. ; `
cd .\frontend ; `
ren .\.env.example .\.env ; `
npm install ; `
cd ..
}
After the command above finishes, required environment variables need to be set:
- Open
backend\.env
with a text editor and follow the instructions in the file. - Open
frontend\.env
with a text editor and follow the instructions in the file.
Lastly, to run the project:
- Run:
cd backend
and thengradlew.bat bootRun
to start the backend server. - Run:
cd frontend
and thennpm run dev
to start the frontend server.
If everything was successful:
- Frontend server @ http://localhost:3000
- Backend server @ http://localhost:8080