An open API service indexing awesome lists of open source software.

https://github.com/slamint/slamint-monorepo

A community-driven alternative to costly service desk platforms. SLA Mint helps organizations manage IT support, track SLAs, and deliver faster resolutions โ€” all in a transparent, open-source way.
https://github.com/slamint/slamint-monorepo

docker idp keycloak monorepo nestjs nx oidc postgresql react vite

Last synced: 9 months ago
JSON representation

A community-driven alternative to costly service desk platforms. SLA Mint helps organizations manage IT support, track SLAs, and deliver faster resolutions โ€” all in a transparent, open-source way.

Awesome Lists containing this project

README

          

# ๐ŸŽŸ๏ธ SLA Mint โ€“ Open Source Ticketing & Helpdesk Tool


image

> **A community-driven alternative to costly service desk platforms.**
> SLA Mint helps organizations manage IT support, track SLAs, and deliver faster resolutions โ€” all in a transparent, open-source way.

---

## ๐Ÿ“Œ 1. Overview

SLA Mint is an **open-source IT ticketing and helpdesk solution**.
It empowers **businesses, startups, and communities** to centralize support operations, enforce SLAs (Service Level Agreements), and provide measurable service quality without being locked into expensive proprietary tools.

โœจ **Key Value**: Streamlined operations, SLA compliance, better insights, and reduced costs.

---

| [![SonarQube Cloud](https://sonarcloud.io/images/project_badges/sonarcloud-light.svg)](https://sonarcloud.io/summary/new_code?id=slamint_slamint-monorepo) |
| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=slamint_slamint-monorepo&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=slamint_slamint-monorepo) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=slamint_slamint-monorepo&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=slamint_slamint-monorepo) [![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=slamint_slamint-monorepo&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=slamint_slamint-monorepo) [![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=slamint_slamint-monorepo&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=slamint_slamint-monorepo) [![Bugs](https://sonarcloud.io/api/project_badges/measure?project=slamint_slamint-monorepo&metric=bugs)](https://sonarcloud.io/summary/new_code?id=slamint_slamint-monorepo) |

## ๐Ÿ›‘ 2. Business Problems

- โŒ **Fragmented Support** โ€“ Emails, chats, and spreadsheets lead to lost requests.
- โณ **SLA Breaches** โ€“ No visibility into deadlines or commitments.
- ๐Ÿ’ธ **High Licensing Costs** โ€“ Commercial service desk tools are often unaffordable.
- ๐Ÿ“‰ **Poor Insights** โ€“ Lack of analytics = no improvement path.
- ๐Ÿ”’ **Vendor Lock-in** โ€“ Existing tools restrict customization and flexibility.

---

## ๐Ÿ’ก 3. Our Solution

SLA Mint provides a **flexible, cost-effective** way to manage support:

- ๐Ÿ—‚๏ธ **Centralized Ticketing** โ€“ All support requests in one place.
- ๐Ÿ“Š **SLA Management** โ€“ Define response & resolution timeframes.
- ๐Ÿ‘ฅ **Role-based Access Control** โ€“ Admin, Agent, Manager, End-user.
- ๐Ÿ“ฉ **Multi-channel Support** โ€“ Web, email, and API-based ticket creation.
- ๐Ÿ“ˆ **Analytics & Dashboards** โ€“ Monitor SLA breaches, workloads, and trends.
- ๐Ÿ› ๏ธ **Open-source Flexibility** โ€“ Self-host, extend, and integrate freely.

---

## ๐Ÿš€ 4. Features

### ๐Ÿ”‘ Core Features

- Ticket creation, assignment & tracking
- SLA definition & monitoring
- Priority, category & status management
- Role-based permissions
- Audit logs & history

### โšก Advanced Features

- Email-to-ticket conversion
- SLA escalations & notifications
- Performance dashboard & analytics
- Multi-tenant support (for MSPs & large orgs)
- REST API for integrations

### ๐ŸŒ Future Features

- Omnichannel (chat, WhatsApp, Teams, Slack)
- AI ticket routing & sentiment analysis
- Knowledge base & self-service portal
- Workflow automation (approvals, escalations)
- Mobile app for agents on-the-go

---

## ๐Ÿ“Š 5. Business Impact

- โœ… **Faster Resolutions** โ†’ Improved SLA compliance
- โœ… **Lower Costs** โ†’ No proprietary licensing
- โœ… **Increased Accountability** โ†’ Clear roles & ownership
- โœ… **Data-driven Decisions** โ†’ Performance reports & KPIs
- โœ… **Community-driven Growth** โ†’ Contributions & integrations

---

## ๐Ÿ“ˆ 6. KPIs

| ๐Ÿ“ KPI | ๐Ÿ“– Definition | ๐Ÿ’ผ Business Value |
| -------------------------------- | -------------------------------- | ----------------------- |
| **SLA Compliance Rate** | % of tickets resolved within SLA | Measures reliability |
| **Avg. Response Time** | Time to first response | Indicates efficiency |
| **Avg. Resolution Time** | Time to resolve ticket | Measures effectiveness |
| **Ticket Volume** | # of new tickets | Shows workload & demand |
| **CSAT (Customer Satisfaction)** | Post-resolution survey score | Reflects quality |
| **Escalation Rate** | % of tickets escalated | Identifies process gaps |

---

## ๐Ÿ›ฃ๏ธ 7. Roadmap

๐Ÿ“ Phase 1 โ€“ Foundation (โœ… In Progress)

- Ticket management
- SLA enforcement
- Basic roles & permissions

๐Ÿš€ Phase 2 โ€“ Growth

- Email integration
- SLA notifications
- Analytics dashboard

๐ŸŒ Phase 3 โ€“ Advanced

- Omnichannel support (chat, API, mobile)
- Knowledge base
- AI/ML ticket routing

๐Ÿ’ก Phase 4 โ€“ Community

- Plugin/extension marketplace
- Enterprise adoption
- Cloud + On-prem hybrid deployment

---

## ๐Ÿ‘ฅ 8. Business Roles & Responsibilities

SLA Mint is designed to serve multiple **business personas**. Each role has distinct responsibilities and value from the system.

### ๐Ÿง‘โ€๐Ÿ’ผ End Users (Employees / Customers)

- Create support tickets (IT, HR, Facilities, etc.)
- Track progress & resolution status
- Provide feedback & satisfaction ratings (CSAT)

### ๐ŸŽง Support Agents

- Respond to incoming tickets within SLA
- Update ticket status, progress notes & resolutions
- Escalate issues when needed
- Ensure timely closure of tickets

### ๐Ÿ‘ฉโ€๐Ÿ’ป Team Leads / Managers

- Monitor team performance & SLA compliance
- Reassign or balance workloads among agents
- Approve escalations or exceptions
- Generate reports for higher management

### ๐Ÿ› ๏ธ Admins / IT Service Desk Owners

- Configure SLAs, categories, priorities
- Manage roles, permissions, and workflows
- Ensure system uptime & integration with other tools
- Maintain audit logs & compliance requirements

### ๐Ÿข Business Leadership / Department Heads

- Review KPI dashboards for service quality
- Identify bottlenecks and areas of improvement
- Allocate budget/resources based on workload data
- Drive continuous improvement initiatives

---

## ๐Ÿ“‹ 9. Business RACI Matrix

| Activity / Task | End User | Agent | Manager | Admin/IT | Leadership |
| -------------------------------------- | -------- | ----- | ------- | -------- | ---------- |
| **Ticket Creation** | R | C | I | I | I |
| **Ticket Response & Resolution** | C | R | A | I | I |
| **Escalation Handling** | I | R | A | C | I |
| **SLA Monitoring** | I | R | A | C | I |
| **System Configuration (SLAs, Roles)** | I | I | C | R/A | I |
| **Workload Management & Reassignment** | I | C | R/A | I | I |
| **Reporting & Analytics** | I | C | R | C | A |
| **Compliance & Audit** | I | I | C | R | A |
| **Customer Satisfaction Feedback** | R | C | I | I | I |
| **Strategic Improvements / Budgets** | I | I | C | C | R/A |

๐Ÿ‘‰ Legend:

- **R** = Responsible (does the work)
- **A** = Accountable (final ownership)
- **C** = Consulted (provides input)
- **I** = Informed (kept updated)

---

## ๐Ÿณ 10. Containerized Backends

| Service | Dockerfile | Default Port |
| ------- | ---------- | ------------ |
| API Gateway (`@slamint/api-gateway`) | `api/api-gateway/Dockerfile` | `8081` |
| Account Management (`@slamint/account-management`) | `api/account-management/Dockerfile` | `8082` |

### Build images manually

```bash
docker build -t slamint-account-management -f api/account-management/Dockerfile .
docker build -t slamint-api-gateway -f api/api-gateway/Dockerfile .
```

### Run with Docker Compose

1. (Recommended) Copy `.env.example` to `.env` and override any secrets; if you skip this step the compose file falls back to safe-but-obvious defaults such as `REDIS_PASSWORD=changeme`.
2. Start the dependency stack and backends:

```bash
docker compose up -d account-management
docker compose up -d api-gateway
```

Compose will build the images if they are missing and wire them to Postgres, Redis, and Keycloak.
3. Inspect logs when needed:

```bash
docker compose logs -f account-management
docker compose logs -f api-gateway
```

Each container is self-contained: the build stage compiles the NestJS projects with Nx and prunes dependencies so the runtime layers only contain production packages (including resources bundled under `common/`). Use the `NODE_VERSION` build-arg to pin a different Node.js base if required, e.g. `--build-arg NODE_VERSION=22-slim`.

### CI publishing flow

- The base semantic version lives in `release.env` (e.g. `VERSION=1.0.0`). Local or CI builds append a build number to produce tags like `1.0.0.42`.
- `pnpm nx run @slamint/account-management:docker-release` and `pnpm nx run @slamint/api-gateway:docker-release` build/push their respective images to `${DOCKER_REGISTRY:-ghcr.io}/${DOCKER_NAMESPACE:-slamint}/:${VERSION}.${BUILD_NUMBER}`, and re-tag the same image as `${DOCKER_REGISTRY:-ghcr.io}/${DOCKER_NAMESPACE:-slamint}/:latest`.
- The workflow in `.github/workflows/docker-release.yml` loads `release.env`, sets `BUILD_NUMBER` to `GITHUB_RUN_NUMBER`, authenticates to GHCR with the built-in `${{ github.token }}`, then executes `pnpm docker:release` so both services are rebuilt and pushed on every run.
- Locally, export a `BUILD_NUMBER` (for example `BUILD_NUMBER=42 pnpm docker:release`) to mirror the CI tag; if omitted the helper script falls back to `1.0.0.local`.
- Override `DOCKER_NAMESPACE` and `DOCKER_REGISTRY` via environment variables or repository secrets if you publish outside GHCR, and set `INCLUDE_LATEST=false` if you ever need to skip the automatic `latest` tag.

---

## ๐Ÿ”ฎ 11. Future Plans

- ๐Ÿค– **AI-driven triage** โ€“ Auto-prioritize & route tickets.
- ๐Ÿข **Enterprise readiness** โ€“ RBAC, compliance, advanced audit logs.
- โ˜๏ธ **Hybrid deployments** โ€“ Cloud + On-prem.
- ๐Ÿ”Œ **Marketplace** โ€“ Plugins & integrations (Slack, Jira, Teams).
- ๐Ÿ“ฑ **Mobile apps** โ€“ Agent productivity on-the-go.

---

## ๐Ÿค 12. Community & Contribution

- **License**: MIT โ€“ free to use, modify, and distribute.
- **Contributions**: PRs, issues, and discussions welcome.
- **Community Calls**: Planned for roadmap discussions.
- **Governance**: Open and transparent, with community voting on features.

---

## โœ… 13. Conclusion

SLA Mint is more than a tool โ€” itโ€™s a **movement towards open, affordable, and effective service management**.

It empowers organizations to:

- Manage support tickets effectively
- Enforce SLAs with confidence
- Gain insights through KPIs & analytics
- Avoid vendor lock-in and high licensing costs

> **SLA Mint = Transparency + Efficiency + Community**