AidVault is a secure backend system (API) that helps organizations manage and track humanitarian aid distribution — like food, shelter, or medicine — to people in need.
It’s designed to make the process of requesting, managing, and verifying aid fast, reliable, and trackable.
- Submit aid requests (e.g., food, shelter, medicine)
- Optionally upload proof documents (like ID or medical note)
- Get notified when their request is received and later fulfilled
- Register themselves in the system
- View submitted aid requests assigned to them
- Mark aid as fulfilled, track aid history
- Export and monitor the status of aid delivery
Let’s say:
- You're someone displaced after a flood in your city.
- You go to a partner NGO website and fill a form: “Need shelter and food”
- Behind the scenes, that form hits AidVault’s
/aid-requestAPI - The NGO sees your request in their dashboard (powered by AidVault)
- Once they provide aid, they mark the request as fulfilled
- You check the status using
/aid-statusor/aid-request/:id/status
- Golang (v1.18+ recommended)
- Docker Desktop with Docker Compose
- Internet connection (to pull PostgreSQL Docker image)
- Clone the repository
git clone https://github.com/your-username/aidvault.git
cd aidvault- Start PostgreSQL using Docker Compose
docker-compose up- Run the Go backend
Open a second terminal window and run:
go run main.go✅ You should see:
Connected to PostgreSQL
✅ AidVault API running on port 8080
- Visit https://editor.swagger.io
- Paste the contents of
docs/swagger.yaml - Use “Try it out” to test all endpoints interactively
- REST API in Golang
- Stores data in PostgreSQL
- Uses AWS S3 for file uploads (e.g. ID verification)
- Dockerized for easy setup
- Swagger/OpenAPI docs for testing
- GitHub Actions CI/CD setup
- ✅ Ready for cloud deployment (e.g., AWS, Render, Railway)
This project is released under a custom license.
You are free to use, modify, and share it as long as you credit the original author: Ehan Hassan.
Commercial use or redistribution without permission is not allowed.