Overview
Discover what makes Personal Management System powerful
**Personal Management System (PMS)** is a lightweight, self‑hosted backend that functions as the core of a personal data hub. It exposes a RESTful API and serves JSON to a decoupled frontend (available on GitHub) while persisting data in a relational database. The system is intentionally minimal, mimicking the core concepts of CMS/CRM platforms such as WordPress or SugarCRM but stripped to the essentials needed for a single‑user data store. This design allows developers to extend functionality with custom modules or plugins without the overhead of a full‑blown CMS.
Modular data domains
User‑centric security
REST API
Extensibility hooks
Overview
Personal Management System (PMS) is a lightweight, self‑hosted backend that functions as the core of a personal data hub. It exposes a RESTful API and serves JSON to a decoupled frontend (available on GitHub) while persisting data in a relational database. The system is intentionally minimal, mimicking the core concepts of CMS/CRM platforms such as WordPress or SugarCRM but stripped to the essentials needed for a single‑user data store. This design allows developers to extend functionality with custom modules or plugins without the overhead of a full‑blown CMS.
Key Features
- Modular data domains – Todo/Goals, Notes, Contacts, Passwords, Calendar, Payments, and more.
- User‑centric security – Authentication is JWT‑based with optional two‑factor and password locking for local use.
- REST API – CRUD endpoints, search filters, pagination, and export capabilities (CSV/JSON).
- Extensibility hooks –
beforeCreate,afterUpdateevents and a plugin registry that lets developers inject business logic or UI widgets.
Technical Stack
| Layer | Technology |
|---|---|
| Web framework | PHP 8.x with Symfony components (HTTPFoundation, Routing). |
| Database | PostgreSQL (default) or MySQL; ORM via Doctrine. |
| Authentication | Symfony Security component, JWT tokens (lexik/jwt‑authentication). |
| API Documentation | OpenAPI 3.0 spec generated by NelmioApiDocBundle. |
| Containerization | Official Dockerfile and docker‑compose scripts; ready for Kubernetes or Docker Swarm. |
| Testing | PHPUnit with Symfony’s WebTestCase, Behat for BDD. |
The backend is written in PHP, leveraging Symfony’s modular architecture to keep the codebase clean and testable. Doctrine ORM abstracts database interactions, while Symfony’s event dispatcher provides a robust plugin mechanism.
Core Capabilities
- CRUD for each module with validation rules and serialization groups.
- Batch operations (bulk delete, bulk status update) via dedicated endpoints.
- Search & filtering using Doctrine QueryBuilder; supports full‑text search on notes and contacts.
- Webhooks – developers can register URLs to receive POST notifications for create/update/delete events.
- Extensible data schema – custom fields can be added per module via a JSONB column, enabling tailored data capture without code changes.
Deployment & Infrastructure
PMS is designed for self‑hosting on any LAMP/LEMP stack or container orchestration platform. A single Docker image contains PHP, Nginx, and the application code; volume mounts persist database data. The system scales horizontally by running multiple API instances behind a load balancer; PostgreSQL replication can be added for read‑scales. For low‑traffic personal use, a Raspberry Pi running Docker is sufficient and can be locked down with firewall rules to expose only the API port.
Integration & Extensibility
- Plugin SDK – developers can create PHP packages that hook into the event system; these are auto‑discovered via Composer autoload.
- External API – any external service (calendar sync, email notifications) can be integrated by consuming the public API or listening to webhooks.
- Custom UI – the frontend is a separate SPA (React/Vue) that can be swapped out; developers may replace it with a static site or mobile app.
- Authentication adapters – support for LDAP, OAuth2 providers (Google, GitHub) is available via Symfony Security bundles.
Developer Experience
The project follows PSR‑4 autoloading, comprehensive unit tests, and an OpenAPI spec that can be imported into Postman or Insomnia. Documentation is hosted on GitHub Pages, with clear module overviews and code examples. The community is small but active; contributors are welcomed via pull requests, and issues are triaged quickly. Configuration is driven by environment variables and a .env file, making local development straightforward.
Use Cases
- Personal Data Hub – Consolidate notes, contacts, passwords, and goals on a single offline‑first server.
- Home Automation – Expose PMS data to Home Assistant or custom IoT dashboards via the API.
- Educational Projects – Teach students about REST, ORM, and plugin architecture in a real application.
- Enterprise SSO – Integrate PMS with corporate LDAP for secure access to personal dashboards.
Advantages
- Simplicity & Focus – No bloat; only the features you need.
- Full Source Control – Own every line of code and data; no vendor lock‑in.
- Extensible Architecture – Add modules or modify existing ones with minimal effort.
- Lightweight Deployment – Runs on a Raspberry Pi or any cloud VM with minimal resources.
- Open‑Source Licensing – MIT license allows commercial use without royalties.
In summary, PMS offers developers a clean, modular backend for personal data management that can be extended, deployed, and maintained entirely on their own infrastructure.
Open SourceReady to get started?
Join the community and start self-hosting Personal Management System today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Hypersomnia
Community-driven multiplayer shooter built in modern C++
StackStorm
Event‑driven automation for modern infrastructure
Gameyfin
Your personal game library manager
Synapse
Matrix homeserver for secure, federated messaging
Flatnotes
Distraction‑free markdown notes, no database required

Yeti-Switch
Open‑source softswitch for flexible routing and integration