This is a simple console-based crowdfunding app built with Python. It allows users to register, log in, create fundraising projects, and manage them (edit, delete, view, and search).
Features
- User Registration & Login (with validation)
- Egyptian phone number validation
- Create and manage fundraising projects
- View all existing projects
- Edit and delete your own projects
- Search projects by start date
Project Structure
python-project/ │ ├── auth.py # User authentication logic ├── projects.py # Project management functions ├── main.py # App entry point and main menu ├── users.json # User data storage (JSON format) ├── projects.json # Project data storage (JSON format) └── README.md # This file
- Open terminal and navigate to the project directory:
cd python-project
- Run the application:
python3 main.py
How to Use
- Register a New User
- Choose Register from the main menu.
- Enter your first name, last name, email, password, confirm password, and Egyptian phone number (e.g. 01012345678).
- Login
- Choose Login from the main menu.
- Enter your email and password.
- Project Menu (after login)
- Create Project: Add title, details, target amount, start and end dates (must be valid and start < end).
- View All Projects: View all saved projects.
- Edit My Project: Update your project info using its ID (only your own projects).
- Delete My Project: Delete your project by its ID.
- Search Projects by Date: Enter a start date to find all projects starting on that date.
- Logout: Log out and return to the main menu.
Sample Project Input
Title: Python Bootcamp
Details: Learn Python in 7 days.
Target: 10000
Start Date: 2025-07-10
End Date: 2025-07-17
Notes
- All user data is saved in
users.json
. - All project data is saved in
projects.json
. - Date format must be
YYYY-MM-DD
. - Only the project owner can edit or delete their projects.
- Search by date works based on the project's start date.