Bersama untuk Palestina - Crowdfunding Platform

SideID
SideID, 2 min read.
Bersama untuk Palestina - Main View

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

Bersama untuk Palestina - Donation DetailsBersama untuk Palestina - Donation PageBersama untuk Palestina - Input Donation PageBersama untuk Palestina - PartnersBersama untuk Palestina - Midtrans Payment

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:

  1. Clone the frontend repository from GitHub:

    git clone https://github.com/SideeID/Crowdfunding-Frondend.git
  2. Navigate to the project directory:

    cd Crowdfunding-Frondend
  3. Install dependencies:

    npm install
  4. Start the development server:

    npm run dev
  5. Open your browser and navigate to http://localhost:5173.

Backend:

  1. Clone the backend repository from GitHub:

    git clone https://github.com/SideeID/Crowdfunding-Backend.git
  2. Navigate to the project directory:

    cd Crowdfunding-Backend
  3. Install dependencies:

    npm install
  4. Set up environment variables:

    cp .env.example .env
  5. Start the development server:

    npm run start:dev
  6. Run tests:

    npm test

Capstone Team

IDNAME
R7256XB402Mayang Puspita Sari
R1936YB422Mustofa Adny
R1296YB487Dimas 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