Skip to content

ehan5000/AidVault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AidVault

📦 What is AidVault?

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.


👥 Who is it for?

1. People in need (recipients)

  • 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

2. Organizations (NGOs, charities, food banks)

  • 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

🌍 Example Use Case

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-request API
  • 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-status or /aid-request/:id/status

🛠️ How to Run the Project

📦 Requirements

  • Golang (v1.18+ recommended)
  • Docker Desktop with Docker Compose
  • Internet connection (to pull PostgreSQL Docker image)

🧪 Steps to Run

  1. Clone the repository
git clone https://github.com/your-username/aidvault.git
cd aidvault
  1. Start PostgreSQL using Docker Compose
docker-compose up
  1. 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

🌐 Test the API (Optional)

  • Visit https://editor.swagger.io
  • Paste the contents of docs/swagger.yaml
  • Use “Try it out” to test all endpoints interactively

⚙️ Technical Overview

  • 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)

📜 License

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.

About

AidVault, a secure Golang REST API that manages humanitarian aid requests with PostgreSQL, AWS S3 file uploads, Docker-based deployment, and Swagger/OpenAPI documentation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors