Bersama untuk Palestina - Crowdfunding Platform

Bersama untuk Palestina is a comprehensive crowdfunding platform designed to support initiatives and projects in Palestine. This project aims to provide a transparent and effective funding channel for the Palestinian people in need. I developed this project during my participation in the MBKM (Merdeka Belajar Kampus Merdeka) program at Dicoding Indonesia. This project was awarded as the best project in our capstone program.
Key Features
- Login with Google Account: Quick and easy login using Google accounts.
- Search Feature: Easily find campaigns, projects, or other information.
- Online Donations: Simple online donation process for various programs and campaigns.
- Multiple Payment Methods: Supports various payment methods, including bank transfers, credit cards, and e-wallets.
- Ongoing Programs: Information on various ongoing programs, including education, health, economic empowerment, and disaster relief.
- Midtrans Integration: Payment gateway integration for secure transactions.
- Security: JWT usage for secure authentication on the backend.
- Performance: Redux Toolkit usage for efficient state management on the frontend.
- Testing: Cypress usage for robust end-to-end testing.
Screenshots





Technologies Used
- Frontend:
- React.js
- Redux Toolkit
- Axios
- Tailwind CSS
- Flowbite React
- React Router
- Cypress (E2E Testing)
- Backend:
- Node.js
- Express.js
- MongoDB
- Passport.js (OAuth2)
- JWT Authentication
- Midtrans (Payment Gateway)
Getting Started
Frontend:
Clone the frontend repository from GitHub:
git clone https://github.com/SideeID/Crowdfunding-Frondend.gitNavigate to the project directory:
cd Crowdfunding-FrondendInstall dependencies:
npm installStart the development server:
npm run devOpen your browser and navigate to
http://localhost:5173.
Backend:
Clone the backend repository from GitHub:
git clone https://github.com/SideeID/Crowdfunding-Backend.gitNavigate to the project directory:
cd Crowdfunding-BackendInstall dependencies:
npm installSet up environment variables:
cp .env.example .envStart the development server:
npm run start:devRun tests:
npm test
Capstone Team
| ID | NAME |
|---|---|
| R7256XB402 | Mayang Puspita Sari |
| R1936YB422 | Mustofa Adny |
| R1296YB487 | Dimas Fajar Katon Prayogo |
- Dimas Fajar Katon Prayogo (SideID): Fullstack Developer
- Mustofa Adny: Frontend Developer
- Mayang Puspita Sari: Project Manager
Contribution
This is a capstone team project and does not accept external contributions.
API Documentation
- Backend API Documentation: Postman API Documentation