Product
PepperCRM
A modular CRM for leads, tasks and communications, built as a team
A CRM built by a team of four to manage leads, tasks and communications, where I wrote almost all of the backend.
What it is about
PepperCRM is a modular CRM to manage customers, sales and opportunities. It records leads, moves them through stages on a board, assigns tasks and keeps each customer's comments, files and emails. Four of us built it in the PepperTechDev organization between February and November 2025.
I wrote almost all of the backend, from the Spring Boot API and its security to its integration with MongoDB and Redis and its deployment.
What it does
- Spring Boot API on Java 17 organized by business modules such as users, leads, tasks, tags, comments, files, messages and email.
- Security with Spring Security and JWT, a rate-limiting filter and CORS configured per environment.
- MongoDB Atlas as the database, Redis as the cache and an asynchronous mail service for notifications.
- React and Vite frontend with a kanban board to move leads between stages, plus task management.
- Swagger documentation, images on Docker Hub deployed to Render through a deploy hook, and Kubernetes manifests in progress.
- I wrote 152 of the 154 commits people made to the API.
How it works
How PepperCRM fits together
The web app talks to the API, which stores in MongoDB, caches in Redis and sends email; the bottom row is delivery.
Web
- React and Vite
- Kanban board of leads
- Forms and tasks
API
- Spring Boot on Java 17
- Spring Security, JWT and rate limiting
- Business modules
Data
- MongoDB Atlas
- Redis cache
- Asynchronous mail service
Delivery
- Images on Docker Hub
- Deployment on Render
- Kubernetes manifests
Decisions and their costs
One module per part of the business
A CRM brings together leads, tasks, comments, files and emails, and each part had to be testable and changeable on its own.
A rate limit on the API
A misconfigured client could flood the API.
Repositories
Every public repository of the project, with what it holds.
- 2025Java, Spring Boot, MongoDB, JWT
PepperCRM-APIPepperTechDev
PepperCRM's API with authentication, leads, tasks, tags, files and email, documented with Swagger.
- 2025React, Vite, Tailwind CSS
PepperCRM-WebPepperTechDev
PepperCRM's web app with a kanban board, leads and tasks.
- 2025MongoDB, Docker
PepperCRM-DBPepperTechDev
PepperCRM's MongoDB image.
- 2025Redis, Docker
PepperCRM-CachePepperTechDev
PepperCRM's Redis image.
- 2025Docker
PepperCRM-MailPepperTechDev
PepperCRM's mail service for local environments.
Stack
Pick a technology to see the projects that use it.
