/ajut.md

Platform for NGOs to create donation requests and to broadcast their services in an emergency

Primary LanguagePythonMozilla Public License 2.0MPL-2.0

Ajut.md • Live

GitHub contributors GitHub last commit License: MPL 2.0

Build status

This project is the result of the 2019 Civic Labs research. You can view the knowledge base of the project on the Ro Help Civic Labs page. This project is adjusted for the NGO's needs from Republic of Moldova by Code 4 Moldova.

Check out the prototype and admin as well!

Ajut.md is a platform meant to help NGOs during an emergency situation. The NGOs can ask for donations, resources or volunteers, and users can browse the needs that various NGOs have. Initially prototyped by Code4Romania with an earthquake in mind, this project was pushed at the forefront of Code4Romania Tech for Social Good development program during the COVID-19 pandemic.

See the project live

Objective: Safe and coherent collection of aid.

How: The application displays verified and validated NGOs for the collection and distribution of resources.

Concept developed as part of the Civic Labs program of Code for Romania.

Contributing | Built with | Deployment | Feedback | License | About Code4MD

Contributing

This project is built by amazing volunteers and you can be one of them! Here's a list of ways in which you can contribute to this project.

If you want to make any change to this repository, please make a fork first.

Help us out by testing this project in the staging environment. If you see something that doesn't quite work the way you expect it to, open an Issue. Make sure to describe what you expect to happen and what is actually happening in detail.

If you would like to suggest new functionality, open an Issue and mark it as a [Feature request]. Please be specific about why you think this functionality will be of use. If you can, please include some visual description of what you would like the UI to look like, if you are suggesting new UI elements.

Built With

Django

Programming languages

Python 3

Development

Docker is used to run the development version, so you'll need to install Docker and docker-compose. Once installed, you just need to copy cp .env.example .env and run docker-compose up and point your browser to http://localhost:8000/,

A seed command is being run on each start, so you can have fresh new random data to play with.

In case you are using WSL with Docker for Desktop (version 2.2.0.4) on Windows: you need to have your repository on the Windows file system rather than on the WSL one because otherwise the volume won't be mounted (solution inspired from this work around: docker/for-win#2151 (comment))

If you want to make migrations, run tests or add a dependency, you can get into the web container using:

docker-compose exec web sh
./manage makemigrations
pip install <my cool dependency>

We're using black for formatting and each push is checked against it. Running

black --line-length 120 --target-version py38

before a commit will do the trick.

Deployment

The deployment process is fully automated using AWS CodeBuild and ECS. Each time a PR is merged on master, a new docker image build is trigger and if it's successful, the staging environment will point to your latest changes.

The production environment is closely monitored by Sentry.

Feedback

  • Request a new feature on GitHub.
  • Vote for popular feature requests.
  • File a bug in GitHub Issues.
  • Email us with other feedback contact@code4.md

License

This project is licensed under the MPL 2.0 License - see the LICENSE file for details

About Code4Md

Started in 2020, Code for Moldova is a civic tech NGO, official member of the Code for All network. We have a community of over 100 volunteers (developers, ux/ui, communications, data scientists, graphic designers, devops, it security and more) who work pro-bono for developing digital solutions to solve social problems. #techforsocialgood. If you want to learn more details about our projects visit our site or if you want to talk to one of our staff members, please e-mail us at contact@code4.md.

Last, but not least, we rely on donations to ensure the infrastructure, logistics and management of our community that is widely spread across 5 timezones, coding for social change to make Moldova and the world a better place. If you want to support us, you can do it here.