In progress
This is an open-source Customer Relationship Management (CRM) system. The project is still under development. Contributions are welcome. If you want to contribute, you can open a pull request.
- Recording and managing customer information
- Create and manage offers
- Recording and tracking expenses
- Product and category management
- Interview and meeting records
- Email and phone-based customer search
- Full CRUD operations for customers
src/
├── main/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ └── yourapp/
│ │ ├── config/ # Konfigürasyon dosyaları
│ │ │ ├── SwaggerConfig.java
│ │ │ ├── SecurityConfig.java
│ │ │ └── AppConfig.java
│ │ ├── controller/ # REST API denetleyicileri
│ │ │ ├── UserController.java
│ │ │ └── ListingController.java
│ │ ├── dto/ # Veri transfer objeleri
│ │ │ ├── request/
│ │ │ │ ├── UserRequest.java
│ │ │ │ └── ListingRequest.java
│ │ │ ├── response/
│ │ │ │ ├── UserResponse.java
│ │ │ │ └── ListingResponse.java
│ │ │ └── Result.java
│ │ ├── entity/ # JPA entity sınıfları
│ │ │ ├── BaseEntity.java
│ │ │ ├── User.java
│ │ │ └── Listing.java
│ │ ├── exception/ # Hata işleme
│ │ │ ├── GlobalExceptionHandler.java
│ │ │ ├── CustomException.java
│ │ │ └── NotFoundException.java
│ │ ├── mapper/ # MapStruct Mapper sınıfları
│ │ │ ├── UserMapper.java
│ │ │ └── ListingMapper.java
│ │ ├── repository/ # JPA repository sınıfları
│ │ │ ├── UserRepository.java
│ │ │ └── ListingRepository.java
│ │ ├── service/ # Servis arayüzleri
│ │ │ ├── UserService.java
│ │ │ └── ListingService.java
│ │ │ └── impl/ # Servis implementasyonları
│ │ │ ├── UserServiceImpl.java
│ │ │ └── ListingServiceImpl.java
│ │ ├── util/ # Yardımcı sınıflar ve araçlar
│ │ │ └── UtilityClass.java
│ │ ├── security/ # Güvenlik yapılandırmaları
│ │ │ ├── AuditConfiguration.java
│ │ │ ├── AuditorAwareImpl.java
│ │ │ ├── JwtAuthenticationFilter.java
│ │ │ ├── JwtTokenProvider.java
│ │ │ ├── CustomUserDetailsService.java
│ │ │ └── SecurityConstants.java
│ │ └── YourAppApplication.java # Spring Boot ana uygulama sınıfı
│ └── resources/
│ ├── application.properties # Uygulama yapılandırma dosyası
│ └── application.yml # YML yapılandırma dosyası (eğer kullanılıyorsa)
└── test/
├── java/
│ └── com/
│ └── example/
│ └── yourapp/
│ ├── controller/ # Test sınıfları (kontrollerler)
│ ├── service/ # Test sınıfları (servisler)
│ └── YourAppApplicationTests.java # Test ana sınıfı
└── resources/
└── application.properties # Test yapılandırma dosyası
- Java 21+
- PostgreSQL 16
- IntelliJ IDEA (or other IDE)
- Clone the repository:
git clone https://github.com/nidabaser/CRM_Spring_Boot.git
cd crm-spring-boot
- Configure the database.
- Create a PostgreSQL database named
crm
. - Update the
environment variables
:
spring.datasource.url=${YOUR_DB_URL} spring.datasource.username=${YOUR_DB_USERNAME} spring.datasource.password=${YOUR_DB_PASSWORD}
- Create a PostgreSQL database named
- Build the project:
mvn clean install
- Run the project:
mvn spring-boot:run
- Usage:
Once the application is running, you can access the API documentation at:
http://localhost:8080/swagger-ui.html
- Fork the repository.
- Create your feature branch:
git checkout -b feature/your-feature
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/your-feature
- Open a pull request.
This project is licensed under the MIT License.