Welcome to the Order Collection Management System! This project is a REST API designed to handle the lifecycle of customer orders and payment collections. It is built using Java and the Spring Boot framework, following modern backend architectural patterns.
The system allows businesses to:
- Manage Orders: Create, update, and track customer orders.
- Track Collections: Monitor payment statuses and link them to specific orders.
- Customer Management: Maintain records of customers and their order history.
- Data Persistence: Store all information securely in a relational database (PostgreSQL).
- Language: Java 21
- Framework: Spring Boot (REST, Hibernate, Data JPA, Security)
- Build Tool: Maven
- Database: PostgreSQL
- Tools: IntelliJ IDEA, Git
- Documentation: GitBook
- Endpoints Testing: Postman
Based on the project design, the code is organized into a layered architecture to ensure separation of concerns:
src/main/java/com/yourname/ordercollection/
β
βββ controller/ # REST API Endpoints (Handles HTTP requests)
βββ service/ # Business Logic (Calculations, rules, and workflows)
βββ repository/ # Data Access Layer (Interfaces for DB communication)
βββ entity/ # Database Models (JPA Entities mapping to SQL tables)
βββ dto/ # Data Transfer Objects (For structured API responses)
βββ request/ # request dtos
βββ config/ # Security and Bean configurations
https://drawsql.app/teams/backend-150/diagrams/ocms
- JDK 21 or higher.
- IntelliJ IDEA (Community or Ultimate).
- Maven (included in IntelliJ).
- Postgres installed locally
- Clone the repository:
git clone https://github.com/phonewinttun-dev/Order-Collection-Management-System.git- Configure the Database:
Update
src/main/resources/application.propertieswith your database credentials:
spring.datasource.url=jdbc:postgresql://localhost:5432/your_database_name
spring.datasource.username=your_username
spring.datasource.password=your_password- Run the Application:
Open the project in IntelliJ and run the
OrderCollectionApplication.javafile.
Detailed business logic, database ERDs, and API specifications are maintained on GitBook: π GitBook Documentation
Developed with β€οΈ by members of Artificial Punks.