Skip to content

The Charity App is a web-based platform designed to facilitate donations, manage campaigns, and connect donors with charitable organizations. It is built using Java Spring Boot for the backend and integrates a responsive frontend

Notifications You must be signed in to change notification settings

designcraftsman/charity-app

Repository files navigation

Charity App

The Charity App is a web-based platform designed to facilitate donations, manage campaigns, and connect donors with charitable organizations. It is built using Java Spring Boot for the backend and integrates a responsive frontend with Bootstrap.

Features

Donation Management

  • Campaigns: Create, view, and manage donation campaigns.
  • Donor Profiles: Manage donor information and track contributions.
  • Payment Integration: Secure payment processing for donations.

User Management

  • Authentication: Secure login and registration.
  • Role-Based Access: Different roles such as Admin, Donor, and Organization.
  • Profile Management: Update user profiles and preferences.

Campaign Management

  • CRUD Operations: Create, read, update, and delete campaigns.
  • Media Uploads: Upload images and videos to campaigns.
  • Progress Tracking: Visualize campaign progress with dynamic charts.

Responsive Design

  • Bootstrap Integration: Styled using Bootstrap for responsive layouts.
  • Custom CSS: Additional styling for unique components.

Technologies Used

Backend

  • Java Spring Boot: Framework for building the backend.
  • MySQL: Database for storing user, campaign, and donation data.
  • Hibernate: ORM for database operations.

Frontend

  • HTML5: Structure and content.
  • CSS3: Styling with custom and Bootstrap classes.
  • JavaScript: Frontend interactivity.

Tools

  • Maven: Dependency management and build tool.
  • Bootstrap: Responsive design framework.

MVC Architecture

The project follows the Model-View-Controller (MVC) design pattern:

  • Model: Represents the data and business logic. For example, models like Campaign, Donation, and User define the structure of the database entities.
  • View: Handles the user interface. HTML templates in the src/main/resources/templates directory render dynamic content.
  • Controller: Acts as the intermediary between the Model and View. Controllers like CampaignController and UserController process user input and return responses.

Project Structure

charity-app/
├── .gitattributes
├── .gitignore
├── bs-config.js
├── mvnw
├── mvnw.cmd
├── package.json
├── pom.xml
├── .mvn/
│   └── wrapper/
├── src/
│   ├── main/
│   │   ├── java/
│   │   ├── resources/
│   │   │   ├── static/
│   │   │   │   ├── css/
│   │   │   │   ├── js/
│   │   │   │   ├── images/
│   │   │   ├── templates/
│   │   └── webapp/
│   ├── test/
├── uploads/
│   ├── 07fac07a-7afe-4b20-b83d-2e11594d4781_pexels-kampus-7551581.jpg
│   ├── 1fb0fd9e-2add-4eb0-a385-7763c683c75d_pexels-cottonbro-6591148.jpg
│   ├── ...

How to Run

  1. Clone the repository:
    git clone <repository-url>
  2. Set up a MySQL database and update the connection string in application.properties.
  3. Build the project using Maven:
    mvn clean install
  4. Run the application:
    mvn spring-boot:run
  5. Open the application in your browser at http://localhost:8080.

About

The Charity App is a web-based platform designed to facilitate donations, manage campaigns, and connect donors with charitable organizations. It is built using Java Spring Boot for the backend and integrates a responsive frontend

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published