A basic Customer Relationship Management (CRM) system built with Spring Boot.
This project is a lightweight CRM application that helps manage customer data, interactions, and business relationships. It provides a RESTful API for CRUD operations on customers and related entities.
- Java
- Spring Boot
- PostgreSQL
- Gradle
- Docker
- JDK 17 or later
- Gradle
- Docker (optional)
- PostgreSQL database
Ensure you have a PostgreSQL database named spring_crm
running. The default configuration expects:
Database: spring_crm
Username: user
Password: password
Port: 5432
- Clone the repository
- Navigate to the project directory
- Build the project:
./gradlew build
- Run the application:
./gradlew bootRun
-
Build the Docker image:
docker build -t spring-crm .
-
Run the container:
docker run --rm -p 8080:8080 \ -e SPRING_DATASOURCE_URL=jdbc:postgresql://host.docker.internal:5432/spring_crm \ -e SPRING_DATASOURCE_USERNAME=user \ -e SPRING_DATASOURCE_PASSWORD=password \ spring-crm
The application exposes RESTful endpoints at http://localhost:8080/api/v1/
.
- Customer management
- Contact tracking
- Interaction logging
- Basic reporting
src/
├── main/
│ ├── java/
│ │ └── com/example/crm/
│ │ ├── controller/
│ │ ├── model/
│ │ ├── repository/
│ │ ├── service/
│ │ └── CrmApplication.java
│ └── resources/
│ ├── application.properties
│ └── data.sql
This project is licensed under the MIT License.