https://github.com/selahattinsert/listigo-demo
A demo vehicle listing platform built with Spring Boot, JPA, Liquibase, and PostgreSQL, allowing users to create and manage listings.
https://github.com/selahattinsert/listigo-demo
java21 liquibase log4j postgresql react spring-boot
Last synced: about 1 month ago
JSON representation
A demo vehicle listing platform built with Spring Boot, JPA, Liquibase, and PostgreSQL, allowing users to create and manage listings.
- Host: GitHub
- URL: https://github.com/selahattinsert/listigo-demo
- Owner: SelahattinSert
- Created: 2025-06-14T21:33:18.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-17T03:48:16.000Z (12 months ago)
- Last Synced: 2025-06-17T04:28:58.631Z (12 months ago)
- Topics: java21, liquibase, log4j, postgresql, react, spring-boot
- Language: TypeScript
- Homepage:
- Size: 240 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Listigo Demo
## Overview
**Listigo Demo** is a full-stack application for managing listings with features like creating, updating, deleting, filtering, and photo management.
- **Backend**: Java + Spring Boot
- **Frontend**: React
- **Platform**: Web application
## Technologies
**Backend**
- Java 21
- Spring Boot, Spring Security, JPA/Hibernate
- JWT for authentication
- Liquibase for DB migrations
- Maven for dependency management
**Frontend**
- React with TypeScript/JavaScript
- `package.json` for dependency management (using `react-scripts` for build and development)
- Tailwind CSS for styling
**Database**
- PostgreSQL
---
## Prerequisites
- Java 21
- Node.js (e.g., LTS version like 18.x or 20.x)
- npm (comes with Node.js) or yarn
- PostgreSQL
- Maven
- Git
- IDE: IntelliJ IDEA (backend), VS Code or any preferred editor (frontend)
- Modern Web Browser (Chrome, Firefox, Edge, Safari)
---
## Setup Instructions
### Backend Setup
1. **Clone the Repository**
```bash
git clone https://github.com/SelahattinSert/listigo-demo.git
cd listigo-demo/listigo-demo
```
2. **Configure Database**
Update `src/main/resources/application.properties`:
```properties
spring.datasource.url=jdbc:postgresql://localhost:5432/ListigoDB
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update
```
3. **Create Database**
Make sure `ListigoDB` exists in your PostgreSQL server.
4. **Install Dependencies**
```bash
mvn clean install
```
5. **Run the Application**
```bash
mvn spring-boot:run
```
The backend will start at: [http://localhost:8080](http://localhost:8080)
6. **Initialize Database**
Liquibase will automatically apply migrations from:
`src/main/resources/db/changelog/`
---
### Frontend Setup
(Assuming the React project is in a directory like `listigo-frontend` at the same level as the backend's parent directory)
1. **Navigate to Frontend Directory**
```bash
cd ../listigo-frontend
```
2. **Install Dependencies**
Using npm:
```bash
npm install
```
Or using yarn:
```bash
yarn install
```
3. **API Endpoint Configuration**
The frontend is configured to proxy API requests from `/api/v1` to `http://localhost:8080/api/v1` (as defined in `package.json`'s `proxy` field). Ensure your backend is running at `http://localhost:8080`. The base URL `/api/v1` is defined in `src/constants.ts`.
4. **Run the Application**
Using npm:
```bash
npm start
```
Or using yarn:
```bash
yarn start
```
The frontend development server will typically start at [http://localhost:3000](http://localhost:3000).