- About the Project
- Features
- Built With
- Getting Started
- Usage
- API Endpoints
- Contributing
- License
- Contact
Skill Capital is a robust CRM (Customer Relationship Management) application built with Java Spring Boot. The application is designed to manage leads efficiently, allowing users to create, update, and delete leads. Additionally, the system provides comprehensive analytics, offering insights into lead management performance.
The application also integrates Spring Security with JWT (JSON Web Token) to ensure secure authentication and authorization.
- Lead Management: Create, update, and delete leads within the system.
- Analytics: Visualize key metrics and analytics for lead management.
- Spring Security with JWT: Secure user authentication and authorization.
- RESTful API: Expose endpoints for managing leads and retrieving analytics.
- Java Spring Boot: Backend framework
- Spring Security: Authentication and authorization
- JWT (JSON Web Token): Token-based authentication
- Maven: Dependency management
- PostgreSQL: Database
To get a local copy up and running, follow these simple steps.
Before you begin, ensure you have the following installed:
- Java 17+: Download and Install Java
- Maven: Download and Install Maven
- PostgreSQL: Download and Install PostgreSQL
- Node.js (if applicable for frontend): Download and Install Node.js
- Clone the repository
git clone https://github.com/DL-Super30/CRM-java-API.git cd skill-capital
- Install Backend Dependencies
mvn clean install
To configure the database, you'll need to update the Spring Boot application's application.properties file with your database credentials.
-
Open the application.properties file located in src/main/resources/.
-
Update the Database Configuration with your PostgreSQL credentials:
spring.datasource.url=jdbc:postgresql://localhost:5432/skillcapital
spring.datasource.username=your_db_username
spring.datasource.password=your_db_password
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
- Create the PostgreSQL Database:
- Open PostgreSQL shell and create a database:
CREATE DATABASE skillcapital;
Once the dependencies are installed and the database is configured, you can run the application.
- Run the Spring Boot Application
mvn spring-boot:run
- Access the Application
- The application will be available at http://localhost:8081.
Once the application is running, you can perform the following actions:
- Create a Lead: Add new leads to the CRM.
- Update a Lead: Modify existing lead information.
- Delete a Lead: Remove leads from the system.
- View Analytics: Access detailed analytics and reports on leads.
Here are some key API endpoints:
POST /api/leads/create-lead
: Create a new lead.GET /api/leads/getAllLead
: Retrieve all leads.GET /api/leads/{id}
: Retrieve a specific lead by ID.PUT /api/leads/updateLead
: Update a lead by ID.DELETE /api/leads/{id}
: Delete a lead by ID.GET /api/leads/{status}/leadstatus
: Retrieve lead status.GET /api/leads/leads/count
: Retrieve leads count.
POST /api/v1/auth/login
: Authenticate a user and receive a JWT token.POST /api/v1/auth/sign-up
: Register a user and receive a JWT token.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make to Skill Capital are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Giri Yaram - @twitter @LinkedIn - [email protected]
Project Link: https://github.com/DL-Super30/CRM-java-API/tree/dev-giri