Skip to content

amr-hc/Crowdfunding-Web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crowd-Funding Web Application

Crowdfunding is the practice of funding a project or venture by raising small amounts of money from a large number of people, typically via the Internet. The aim of this project is to create a web platform for starting fundraising projects in Egypt.

Table of Contents

Features

  1. Authentication System:
    • Registration with email verification.
    • Login with email and password.
    • Forgot Password.
    • User Profile:
      • View profile information.
      • View owned projects.
      • View donations.
      • Edit profile information.
      • Delete account with confirmation.
  2. Projects:
    • Create fundraising campaigns with:
      • Title
      • Details
      • Category
      • Multiple pictures
      • Total target
      • Multiple tags
      • Start/end time for the campaign
    • View projects and donate.
    • Add comments on projects.
    • Report inappropriate projects or comments.
    • Rate projects.
    • Project creators can cancel projects if donations are less than 25% of the target.
    • Project page displays overall average rating, project pictures in a slider, and 4 similar projects based on tags.
  3. Homepage:
    • Slider to show the highest five rated running projects.
    • List of the latest 5 projects.
    • List of latest 5 featured projects.
    • List of categories with their projects.
    • Search bar to search projects by title or tag.

DataBase Schema

Technologies Used

  • Vue.js
  • Django
  • MySQL

Project Structure

project/
├── frontend/ # Vue.js frontend
├── src/
├── public/
├── ...
├── backend/ # Django backend
├── app/
├── manage.py
├── ...
├── database/ # MySQL database schema
├── schema.sql
├── ...
├── related_images/ # Screenshots related to the project
├── AboutUs.png
├── Schema.png
├── admin-add-feature-project.png
├── ...
└── README.md

Functionality Screenshots

User Interface

  • About Us: About Us page
  • Homepage: Homepage
  • User Donates to a Project: User Donation
  • User Reports a Comment: User Reporting a Comment

Admin Panel

  • Reports Page: Admin Reports Page
  • Project Management:
    • Add Project with Features: Admin Adding Project
    • View All Projects (including canceled): Admin Viewing All Projects
    • Delete Project: Admin Deleting Project
  • Category and Tag Management: Admin Viewing Categories and Tags

Installation

  1. Clone the repository:
git clone https://github.com/your_username/your_project.git
  1. Install dependencies:
# Frontend
cd frontend
npm install

# Backend
cd backend
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
  1. Database setup:
  • Create a MySQL database.
  • Import schema.sql to set up the database schema.
  1. Configuration:
  • Configure backend settings in backend/project/settings.py.
  • Configure database settings in backend/project/settings.py

Usage

  1. Run the backend server:
cd backend
python manage.py runserver
  1. Run the frontend:
cd frontend
npm run serve
  1. Open your browser and go to http://localhost:8080 to access the application.

Contributors

Contributor Avatar Profile
Ahmed Dabour Ahmed Dabour
Amr Elrefaaey Amr Elrefaaey
Amir Elattar Amir Elattar
Doha Seif Doha Seif
Mohamed Abdelazeem Mohamed Abdelazeem
Ahmed Nagy Ahmed Nagy

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published