Empowering NGOs' social workers with simple to use (database) software.
For more information about the software and a free demo system visit www.aam-digital.com.
For more information about the code including guides see the separate Developer Documentation
You can directly run the system using Docker. More information in our Aam-Digital/ndb-setup repository. In that case you do not have to clone this repository and install all the dependencies as everything is packaged into the docker image already.
The custom configuration for your service instance is set in the assets/config.json
file.
You can copy the assets/config.default.json
as a starting point.
You can integrate Aam Digital with an existing Nextcloud server to allow users to update photos on their own. To avoid CORS issues the webdav URL in your config.json should be a relative URL in combination with a reverse-proxy that is forwarding to the actual Nextcloud server address:
assets/config.json:
"webdav": {
"remote_url": "nextcloud/"
}
proxy.conf.json (for local development):
"/nextcloud": {
"target": "https://<your-nextcloud-server>/remote.php/webdav",
"secure": true,
"changeOrigin": true,
"pathRewrite": {
"^/nextcloud": ""
}
}
docker/nginx_default.conf (for production server):
location /nextcloud {
rewrite /nextcloud/(.*) remote.php/webdav/$1 break;
proxy_pass https://<your-nextcloud-server>/;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Ssl on;
}
- This project depends on npm (NodeJS) to setup its dependencies. Please make sure you have npm installed.
git clone
this repository to get all the code with its configuration and requirements.npm install
the dependencies (external libraries and packages)- create a config file
assets/config.json
by copying the default configassets/config.default.json
that is part of the repository. npm run start
to run your local dev server and get started.
Our detailed Developer Documentation provides tutorials, guides, concepts and an API reference.
We use prettier to enforce a consistent formatting of code to make the project easier to read. The project is set up with a git pre-commit hook to automatically format your commits according to these rules.
This project is built upon Angular.
If you are unfamiliar with the framework and Angular CLI go check out the Angular CLI README or use use ng help
.
The following sections give you a brief overview.
Run npm run start
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
You can use Angular CLI to add new code to the project. Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|module
.
Run ng build -prod
to build the project. The build artifacts will be stored in the dist/
directory. Use the -prod
flag for a production build.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via Protractor.
Before running the tests make sure you are serving the app via ng serve
.
Deployment on a server can be done through a docker image, our ndb-setup project provides tools and a starting point to run the system using docker. For more information about Docker, please refer to their official documentation.
To build a new docker image from the built project files run:
npx ng build --output-path docker/dist --prod
cd docker
docker build -t aamdigital/ndb-server:latest .
Our project is completely run by volunteers. Contributions welcome!
We are trying hard to make it easy for you to join in. As a starting point, please refer to our CONTRIBUTING page.