{"id":50145353,"url":"https://github.com/djaiss/peopleOS","last_synced_at":"2026-06-09T20:00:28.355Z","repository":{"id":272999399,"uuid":"916067981","full_name":"djaiss/peopleOS","owner":"djaiss","description":"Bullshit free personal CRM 🧑‍🤝‍🧑","archived":true,"fork":false,"pushed_at":"2025-08-25T07:27:40.000Z","size":10900,"stargazers_count":23,"open_issues_count":6,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-31T04:31:56.520Z","etag":null,"topics":["alpinejs","crm","laravel","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/djaiss.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-13T11:52:21.000Z","updated_at":"2026-01-18T04:57:48.000Z","dependencies_parsed_at":"2025-01-17T23:46:18.036Z","dependency_job_id":"c2a33123-723e-4a4b-b04b-65027ded769c","html_url":"https://github.com/djaiss/peopleOS","commit_stats":null,"previous_names":["djaiss/peopleos"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/djaiss/peopleOS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaiss%2FpeopleOS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaiss%2FpeopleOS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaiss%2FpeopleOS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaiss%2FpeopleOS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/djaiss","download_url":"https://codeload.github.com/djaiss/peopleOS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaiss%2FpeopleOS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34123172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alpinejs","crm","laravel","php"],"created_at":"2026-05-24T04:00:23.085Z","updated_at":"2026-06-09T20:00:28.285Z","avatar_url":"https://github.com/djaiss.png","language":"PHP","funding_links":[],"categories":["Personal CRM"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/djaiss/peopleos\"\u003e\n   \u003cimg src=\"docs/github/background-github.png\" alt=\"Logo\" loading=\"lazy\"\u003e\n  \u003c/a\u003e\n\n  \u003cp align=\"center\"\u003e\n    A simple, bullshit and AI-free, open-source personal CRM.\n  \u003c/p\u003e\n\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://codecov.io/gh/djaiss/peopleOS\"\u003e\n      \u003cimg src=\"https://codecov.io/gh/djaiss/peopleOS/graph/badge.svg?token=7aoDgGFZQr\" alt=\"codecov\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License: MIT\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n## What is this?\n\nPeopleOS is the spiritual successor to Monica, the personal CRM.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"docs/github/screenshot.png\" alt=\"Screenshot of the application\" loading=\"lazy\"\u003e\n\u003c/p\u003e\n\n### Features\n\n- A powerful contact management system with features like adding family information, work information, etc.\n- A powerful and fully customizable journal system that lets you document your life.\n\nData is also fully encrypted at rest, which is nice in case someone wants to peek into the database.\n\n### Why a Monica sequel?\n\nHow is PeopleOS different?\n\n- It's designed to be much simpler and more focused.\n- It's designed to be really fast.\n- Data is fully encrypted at rest. This comes with severe drawbacks, but at least data is secure.\n- It's not using JavaScript frameworks for the frontend. We use JS to enhance the user experience, but the core is still server-side rendered.\n- The code is simple and predictable.\n- It's designed to be self-hosted.\n- It's designed to be API-driven.\n\n## Installation\n\nPeopleOS is a regular Laravel application; it's built on top of Laravel and uses regular Blade / Tailwind CSS for the frontend, sprinkled with Alpine.js and Alpine AJAX for some interactivity. We stick to Laravel conventions as much as possible.\n\nIn terms of local development, you can use the following requirements:\n\n- PHP 8.4 with SQLite, GD, and other common extensions.\n- Node.js 16 or more recent.\n\nIf you have these requirements, you can start by cloning the repository and installing the dependencies:\n\n```bash\ngit clone https://github.com/djaiss/peopleos.git\n\ncd peopleos\n\ngit checkout -b feat/your-feature # or fix/your-fix\n```\n\n\u003e **Don't push directly to the `main` branch**. Instead, create a new branch and push it to your branch.\n\nNext, install the dependencies using [Composer](https://getcomposer.org) and [NPM](https://www.npmjs.com):\n\n```bash\ncomposer install\n\nnpm install\n```\n\nAfter that, set up your `.env` file:\n\n```bash\ncp .env.example .env\n\nphp artisan key:generate\n```\n\nPrepare your database and run the migrations:\n\n```bash\ntouch database/database.sqlite\n\nphp artisan migrate\n```\n\nLink the storage to the public folder:\n\n```bash\nphp artisan storage:link\n```\n\nIn a **separate terminal**, build the assets in watch mode:\n\n```bash\nnpm run dev\n```\n\nAlso in a **separate terminal**, run the queue worker:\n\n```bash\nphp artisan queue:listen --queue=high,low\n```\n\nFinally, start the development server:\n\n```bash\nphp artisan serve\n```\n\n\u003e Note: By default, emails are sent to the `log` driver. You can change this in the `.env` file to something like `mailtrap`.\n\n## Note for developers\n\nThis project uses the following languages:\n\n- PHP (always the most recent version),\n- CSS with [Tailwind](https://tailwindcss.com/) almost exclusively,\n- [Blade](https://laravel.com/docs/master/blade) for the templating language,\n- HTML, of course\n- JavaScript with [AlpineJS](https://alpinejs.dev/),\n- Ajax-like behavior with [Alpine Ajax](https://alpine-ajax.js.org/),\n- PHPUnit.\n\nThese are simple languages, chosen on purpose. They lower the barriers to entry for newcomers who want to help with the project. They are very easy to debug. They are very easy to install on any machine. They are very light in terms of resources.\n\nWe believe this project is a nice project to learn how to code and to contribute to an open source project.\n\n### General guidelines\n\n- This project is meant to be simple to read, simple to maintain, and simple to debug.\n- As a consequence, the code must be as simple as it can be. I can't emphasize this point enough.\n- Use comments to explain what you are doing.\n- Write easy-to-understand code. Do not write lines of code that take minutes to understand, like crazy loops and recursive stuff that make you appear smart but waste everyone's time.\n- Yes, I'm not a great developer, but I'm also the one who will maintain this project in the long run. Please help me do so.\n\n### Guidelines for development\n\n- All models and controllers should be fully tested. We use PHPUnit.\n- Avoid writing custom CSS as much as possible. Tailwind provides everything we need in 99.9999% of cases.\n- Do not add dependencies. Dependencies are the devil. They put the project at risk in many ways.\n- We have two queues: `high` and `low`. High priority is strictly for time-sensitive tasks, like sending emails. Low priority is for any other tasks.\n- We have set up PHPUnit so it identifies slow tests. This only works when you run phpunit directly. It does not work when you use Paratest.\n\n### Translation guidelines\n\n- English is the base language and should not be checked for completeness.\n- All other language files (currently French) must have complete translations.\n- Empty translation values (like `\"key\": \"\"`) are not allowed and will cause CI to fail.\n- You can run `./scripts/check-translations.sh` locally to check translations before committing.\n- The GitHub Actions workflow `Check translations` will automatically verify translation completeness on pull requests.\n\n## Changelog\n\nPlease see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.\n\n## Contributing\n\nPlease see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.\n\n## Security Vulnerabilities\n\nPlease review [our security policy](../../security/policy) on how to report security vulnerabilities.\n\n## Credits\n\n- [Regis Freyd](https://github.com/djaiss)\n- [Alexis Saettler](https://github.com/asbiin)\n- [All Contributors](../../contributors)\n\n## License\n\nThe MIT License (MIT). Please see [License File](LICENSE.md) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjaiss%2FpeopleOS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjaiss%2FpeopleOS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjaiss%2FpeopleOS/lists"}