📌MySpringCRM – Customer Relationship Management System A web-based Customer Relationship Management (CRM) application developed using the Spring Framework. It is designed to manage customer and employee data efficiently with a layered architecture and built-in security. The project follows enterprise-level best practices such as MVC architecture, DAO pattern, Service layer abstraction, and Spring Security integration.
🚀 Features
Customer and Employee management (CRUD operations), Role-based authentication and authorization, Secure login and access control using Spring Security, Layered architecture (Controller, Service, DAO), Aspect-Oriented Programming (AOP) for cross-cutting concerns, Database interaction using Spring + JDBC / ORM, Clean and modular project structure.
🛠️ Technologies Used
Java - Core backend logic, Spring Framework - Application framework, Spring MVC - Web layer, Spring Security - Authentication & authorization, JDBC / ORM - Database access, MySQL - Relational database, Maven - Dependency management, Apache Tomcat - Application server,
🧩 Project Structure
MySpringCRM/ │ ├── src/main/java │ ├── controller → Handles HTTP requests │ ├── service → Business logic │ ├── dao → Database access layer │ ├── entity → Entity / Model classes │ ├── security → Spring Security configuration │ ├── aspects → AOP logging & cross-cutting logic │ ├── utils → Utility classes │ └── tags → Custom tags (if any) │ ├── src/main/resources │ └── application.properties │ ├── src/main/webapp │ ├── WEB-INF │ │ └── views (JSP files) │ ├── sql │ └── database.sql │ ├── pom.xml └── README.md
🔐 Security Implementation
Spring Security is used for authentication and authorization, Role-based access (e.g., ADMIN, USER), Custom security configuration using: SecurityConfig, SecurityWebApplicationInitializer, Secured URLs based on roles.
🗄️ Database Configuration (Sample) spring.datasource.url=jdbc:mysql://localhost:3306/myspringcrm spring.datasource.username=root spring.datasource.password=your_password
⚙️ Setup & Installation 1️⃣ Prerequisites
JDK 8 or above, Apache Tomcat 9+, MySQL Server, Maven, IDE (Eclipse / IntelliJ IDEA).
2️⃣ Steps to Run
Clone the repository,
Import the project as a Maven project,
Configure MySQL database and update credentials,
Run SQL scripts from the sql folder,
Build the project using Maven,
Deploy on Apache Tomcat,
Access the application at:
http://localhost:8080/MySpringCRM