BarakahAid (derived from the Arabic "Barakah," signifying blessing, growth, and prosperity) is a comprehensive, centralized, and transparent global donation management platform designed to connect donors with impactful charitable causes.
| Application | URL |
|---|---|
| Client Portal | https://barakahaid.onrender.com |
| Admin Dashboard | https://barakahaid-admin.onrender.com |
| API Server | https://barakahaid-server.onrender.com |
BarakahAid addresses critical challenges in the charitable giving ecosystem:
- Transparency: Full visibility into how donations are utilized
- Accessibility: Connect donors worldwide with verified NGOs and campaigns
- Accountability: Track donations from contribution to impact
- Emergency Response: Rapid deployment for disaster relief and urgent needs
- 🔐 Secure authentication (Email & Google OAuth)
- 💳 Seamless payment processing via Stripe
- 📊 Donation history and downloadable receipts
- 🗺️ Interactive map showing campaign locations
- 📱 Responsive design for all devices
- 📝 Campaign creation and management
- 📈 Real-time analytics and reporting
- 👥 Volunteer coordination
- 🖼️ Media uploads via Cloudinary
- 👤 User and role management
- ✅ Campaign approval workflow
- 📊 Platform-wide analytics dashboard
- 🔔 Activity monitoring
BarakahAid/
├── client/ # React frontend (donor-facing)
├── admin/ # React admin dashboard
├── server/ # NestJS backend API
└── docker-compose.yml
| Technology | Purpose |
|---|---|
| React 19 | UI framework |
| Vite | Build tool & dev server |
| Redux Toolkit | State management |
| React Router v7 | Client-side routing |
| Tailwind CSS v4 | Styling |
| Axios | HTTP client |
| Leaflet | Interactive maps |
| GSAP | Animations |
| Technology | Purpose |
|---|---|
| NestJS | Node.js framework |
| TypeORM | ORM for PostgreSQL |
| PostgreSQL | Database |
| Passport.js | Authentication |
| JWT | Token-based auth |
| Stripe | Payment processing |
| Cloudinary | Image hosting |
| Socket.io | Real-time updates |
| Technology | Purpose |
|---|---|
| Docker | Containerization |
| GitHub Actions | CI/CD pipeline |
| Render | Cloud hosting |
| Nginx | Static file serving |
- Node.js 20+
- PostgreSQL
- Docker (optional)
-
Clone the repository
git clone https://github.com/Leader437/BarakahAid.git cd BarakahAid -
Install dependencies
# Install all workspaces npm install # Or individually cd server && npm install cd ../client && npm install cd ../admin && npm install
-
Configure environment variables
# Server cp server/.env.sample server/.env # Edit server/.env with your database and API keys # Client echo "VITE_API_URL=http://localhost:5500" > client/.env # Admin echo "VITE_API_URL=http://localhost:5500" > admin/.env
-
Start the development servers
# Terminal 1 - Server cd server && npm run start:dev # Terminal 2 - Client cd client && npm run dev # Terminal 3 - Admin cd admin && npm run dev
-
Access the applications
- Client: http://localhost:5174
- Admin: http://localhost:5173
- API: http://localhost:5500
# Build and run all services
docker-compose up --build
# Or build individually
docker build -t barakahaid-server ./server
docker build --build-arg VITE_API_URL=https://your-api.com -t barakahaid-client ./client
docker build --build-arg VITE_API_URL=https://your-api.com -t barakahaid-admin ./admin| Variable | Description |
|---|---|
DATABASE_URL |
PostgreSQL connection string |
JWT_SECRET |
JWT signing secret |
JWT_REFRESH_SECRET |
Refresh token secret |
FRONTEND_URL |
Client app URL (CORS) |
ADMIN_URL |
Admin app URL (CORS) |
CLOUDINARY_* |
Cloudinary credentials |
STRIPE_* |
Stripe API keys |
GOOGLE_* |
Google OAuth credentials |
| Variable | Description |
|---|---|
VITE_API_URL |
Backend API URL |
Available on Docker Hub:
docker pull saifurrehmanzahid/barakahaid-server:latest
docker pull saifurrehmanzahid/barakahaid-client:latest
docker pull saifurrehmanzahid/barakahaid-admin:latest- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is private and proprietary.
Built with ❤️ by the BarakahAid Team
Empowering global generosity through technology