{"id":35202766,"url":"https://github.com/aam-digital/ndb-core","last_synced_at":"2026-05-16T20:03:38.728Z","repository":{"id":37794448,"uuid":"54631744","full_name":"Aam-Digital/ndb-core","owner":"Aam-Digital","description":"Easy-to-use case management web app for NGOs anywhere in the world (Progressive Web App)","archived":false,"fork":false,"pushed_at":"2026-05-11T11:14:20.000Z","size":147848,"stargazers_count":72,"open_issues_count":190,"forks_count":32,"subscribers_count":6,"default_branch":"master","last_synced_at":"2026-05-11T11:17:49.274Z","etag":null,"topics":["case-management","docker","ngo","offline-first","pwa"],"latest_commit_sha":null,"homepage":"http://www.aam-digital.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Aam-Digital.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2016-03-24T09:51:57.000Z","updated_at":"2026-05-08T17:08:47.000Z","dependencies_parsed_at":"2023-10-20T09:00:48.596Z","dependency_job_id":"6c936a7d-0b37-4c66-b3fb-004a25b98d8c","html_url":"https://github.com/Aam-Digital/ndb-core","commit_stats":null,"previous_names":[],"tags_count":982,"template":false,"template_full_name":null,"purl":"pkg:github/Aam-Digital/ndb-core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aam-Digital%2Fndb-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aam-Digital%2Fndb-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aam-Digital%2Fndb-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aam-Digital%2Fndb-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aam-Digital","download_url":"https://codeload.github.com/Aam-Digital/ndb-core/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aam-Digital%2Fndb-core/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32975288,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T06:31:55.726Z","status":"ssl_error","status_checked_at":"2026-05-13T06:31:51.336Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["case-management","docker","ngo","offline-first","pwa"],"created_at":"2025-12-29T12:09:48.483Z","updated_at":"2026-05-13T09:09:57.792Z","avatar_url":"https://github.com/Aam-Digital.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Release Version](https://img.shields.io/github/release/Aam-Digital/ndb-core.svg)](https://github.com/Aam-Digital/ndb-core/releases)\n[![DPG Badge](https://img.shields.io/badge/Verified-DPG-3333AB?logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iMzEiIGhlaWdodD0iMzMiIHZpZXdCb3g9IjAgMCAzMSAzMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE0LjIwMDggMjEuMzY3OEwxMC4xNzM2IDE4LjAxMjRMMTEuNTIxOSAxNi40MDAzTDEzLjk5MjggMTguNDU5TDE5LjYyNjkgMTIuMjExMUwyMS4xOTA5IDEzLjYxNkwxNC4yMDA4IDIxLjM2NzhaTTI0LjYyNDEgOS4zNTEyN0wyNC44MDcxIDMuMDcyOTdMMTguODgxIDUuMTg2NjJMMTUuMzMxNCAtMi4zMzA4MmUtMDVMMTEuNzgyMSA1LjE4NjYyTDUuODU2MDEgMy4wNzI5N0w2LjAzOTA2IDkuMzUxMjdMMCAxMS4xMTc3TDMuODQ1MjEgMTYuMDg5NUwwIDIxLjA2MTJMNi4wMzkwNiAyMi44Mjc3TDUuODU2MDEgMjkuMTA2TDExLjc4MjEgMjYuOTkyM0wxNS4zMzE0IDMyLjE3OUwxOC44ODEgMjYuOTkyM0wyNC44MDcxIDI5LjEwNkwyNC42MjQxIDIyLjgyNzdMMzAuNjYzMSAyMS4wNjEyTDI2LjgxNzYgMTYuMDg5NUwzMC42NjMxIDExLjExNzdMMjQuNjI0MSA5LjM1MTI3WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==)](https://digitalpublicgoods.net/r/aam-digital)\n[![User Support Center](https://img.shields.io/badge/User%20Support%20Center-available-blue)](https://chatwoot.help/hc/aam-digital/en)\n\n![English](https://img.shields.io/poeditor/progress/740876/en?token=56acaf6808f07eb52c5b39a3abea19a7)\n![French](https://img.shields.io/poeditor/progress/740876/fr?token=56acaf6808f07eb52c5b39a3abea19a7)\n![Italian](https://img.shields.io/poeditor/progress/740876/it?token=56acaf6808f07eb52c5b39a3abea19a7)\n![German](https://img.shields.io/poeditor/progress/740876/de?token=56acaf6808f07eb52c5b39a3abea19a7)\n\n[![Code Climate](https://codeclimate.com/github/Aam-Digital/ndb-core/badges/gpa.svg)](https://codeclimate.com/github/Aam-Digital/ndb-core)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/4e4a7a6301064019b2c9/test_coverage)](https://codeclimate.com/github/Aam-Digital/ndb-core/test_coverage)\n[![Known Vulnerabilities](https://snyk.io/test/github/Aam-Digital/ndb-core/badge.svg)](https://snyk.io/test/github/Aam-Digital/ndb-core)\n[![Developer Guides](https://img.shields.io/badge/Tutorial%20%26%20Guides-available-blue)](https://aam-digital.github.io/ndb-core/documentation/additional-documentation/overview.html)\n\n# Aam Digital\n\n_Enabling social organizations digitally to transform lives._\n\nAam Digital is an easy-to-use case management software for the social sector that improves the effectiveness and transparency of work with beneficiaries in the field.\n\n\u003cdiv align=\"center\"\u003e\u003cimg src=\"https://github.com/Aam-Digital/ndb-core/assets/1682541/2b125750-5c03-4dc7-873f-22d8278accde\"  width=\"30%\"\u003e\u003c/div\u003e\n\n\u003e For more information about the software and an open demo system visit **[www.aam-digital.com](https://www.aam-digital.com)**.\n\n\u003e For more information about the code including guides see the separate **[Developer Documentation](https://aam-digital.github.io/ndb-core/documentation/additional-documentation/overview.html)**\n\n---\n\n# Installation, Use \u0026 Deployment\n\nYou can directly run the system using Docker.\nMore information in our [Aam-Digital/ndb-setup repository](https://github.com/Aam-Digital/ndb-setup/).\nIn that case you do not have to clone this repository and install all the dependencies as everything is packaged into the docker image already.\n\nThe Aam Digital platform can be customized for different use cases through a flexible configuration file. This doesn't require changes to the generic platform code base in this repository:\n![image](https://github.com/Aam-Digital/ndb-core/assets/1682541/c9b08c0b-bb60-464d-b39f-703ae2995213)\n\nThe overall architecture and tech stack including backend services looks like this:\n![image](https://github.com/Aam-Digital/ndb-core/assets/1682541/557adb8a-df93-4c83-b547-8a5e28650324)\n\n# Development\n\n## Setup\n\n1. This project depends on [npm (NodeJS)](https://www.npmjs.org/) to setup its dependencies. Please make sure you have npm installed.\n2. `git clone` this repository to get all the code with its configuration and requirements.\n3. `npm install` the dependencies (external libraries and packages)\n4. `npm run start` to run your local dev server and get started.\n\nBy default, the app is started with a \"mock\" session, generating demo data into an in-memory database.\nYou can change this mode by editing the environment.ts\n(or create a file assets/config.json to overwrite settings; that file is on the .gitignore list).\n\nIf you need to develop in an advanced environment including local backend services,\nplease refer to the instructions at [Aam-Digital/aam-services/docs/developer](https://github.com/Aam-Digital/aam-services/tree/main/docs/developer).\n\n## Documentation\n\nOur detailed [Developer Documentation](https://aam-digital.github.io/ndb-core/documentation/additional-documentation/overview.html)\nprovides tutorials, guides, concepts and an API reference.\n\n## Translations (internationalization; i18n)\n\nAam Digital is available in multiple languages.\nWe translate the terms using POEditor: [Join the translation team](https://poeditor.com/join/project/CGn4IA7Ilz)\n\nTo commit latest translations to the codebase, trigger the manual GitHub Action in the repository.\n\n## Code Style\n\nWe use _prettier_ to enforce a consistent formatting of code to make the project easier to read.\nThe project is set up with a git pre-commit hook to automatically format your commits according to these rules.\n\n## Using Angular CLI\n\nThis project is built upon [Angular](https://angular.io/).\nIf you are unfamiliar with the framework and Angular CLI go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md) or use `ng help`.\n\n## Build a docker image locally\n\nDeployment on a server can be done through a docker image, our [ndb-setup project](https://github.com/Aam-Digital/ndb-setup) provides tools and a starting point to run the system using docker.\nFor more information about Docker, please refer to [their official documentation](https://docs.docker.com/get-started/).\n\nTo learn more about the build process, see [/build](./build/README.md).\n\n---\n\n# AI-Assisted Development\n\nThis project supports AI-assisted development through GitHub Copilot, Claude Code, and CodeRabbit.\n\n| Tool                         | Usage                                                                                                                                                                                        |\n| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **GitHub Copilot** (VS Code) | Code generation, chat, agent mode — reads `AGENTS.md`. Use **Plan mode** for architecture planning before implementation.                                                                    |\n| **Claude Code** (CLI)        | Interactive coding assistant — reads `CLAUDE.md` → `AGENTS.md`                                                                                                                               |\n| **CodeRabbit** (GitHub)      | Automated PR reviews — configured via `.coderabbit.yaml`. Add the label **\"Ready for Review\"** to trigger a review (works in draft mode too; removing the label stops further auto-reviews). |\n\n## Agents\n\nCustom agents are defined in `.claude/agents/` and can be invoked from Copilot chat or Claude Code:\n\n| Agent                     | Purpose                                               | Recommended Tool                       |\n| ------------------------- | ----------------------------------------------------- | -------------------------------------- |\n| `business-analyst`        | Refine requirements into structured, testable docs    | Copilot chat or Claude Code            |\n| `troubleshooter`          | Debug issues using Sentry, devtools, and stack traces | Copilot/Claude Code with Sentry MCP    |\n| `implementation-planner`  | Design technical approach and architecture            | Copilot **Plan mode** or Claude Code   |\n| `implementation-executor` | Full implementation workflow with tests               | Copilot agent mode or Claude Code      |\n| `refactorer`              | Code analysis and refactoring suggestions             | CodeRabbit (automatic) + manual prompt |\n| `e2e-test-writer`         | Generate Playwright e2e tests                         | Copilot agent mode or Claude Code      |\n\n## MCP Servers\n\nMCP servers are configured in `.vscode/mcp.json`:\n\n- **angular-cli** — Angular CLI operations, schematics, component generation\n- **chrome-devtools** — Runtime debugging, DOM inspection, console access\n- **sentry** — Production error data, issue investigation (requires `SENTRY_AUTH_TOKEN` env var)\n- **github** — Issues, PRs, diffs, repository context (requires `GITHUB_PERSONAL_ACCESS_TOKEN` env var)\n\n## Tips for Effective Prompting\n\n- Be specific about the entity/component you're working with\n- Reference existing patterns and similar implementations\n- Let agents read relevant files first before making changes\n- Use the agent files as starting points for common workflows\n\n---\n\n# Contribute\n\nOur project is completely run by volunteers. Contributions welcome!\n\nWe are trying hard to make it easy for you to join in.\nAs a starting point, please refer to our **[CONTRIBUTING](./CONTRIBUTING.md)** page.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faam-digital%2Fndb-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faam-digital%2Fndb-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faam-digital%2Fndb-core/lists"}