Project description
**Raise-Together Web Application Features:**
python - django - full stack wep - postgres
**1 - Authentication System:**
- **Registration:**
- First name
- Last name
- Password
- Confirm password
- Mobile phone (validated against Egyptian phone numbers)
- Profile Picture
- Activation Email after registration
- Once the user registers, an activation email with a unique link will be sent.
- Users cannot log in without activating their accounts.
- Activation link expires after 24 hours.
- **Login:**
- Users can log in after activation using their email and password.
- **Bonus:** Allow users to log in with a Facebook account.
- **Forgot Password (Bonus):**
- Users can reset their password by receiving a password reset link via email.
- **User Profile:**
- View profile information.
- View created projects.
- View donation history.
- Edit profile information (except for email).
- Add optional information (birthdate, Facebook profile, country).
- Delete account with password confirmation.
- **Bonus:** Enter password to delete the account.
**2 - Projects:**
- Create a project fundraising campaign with:
- Title
- Details
- Category (from a predefined list)
- Multiple pictures
- Total target amount
- Multiple tags
- Set start/end time for the campaign
- Users can:
- View and donate to any project.
- Add comments on projects.
- **Bonus:** Comments can have replies.
- Report inappropriate projects or comments.
- Rate projects.
- Cancel a project if donations are less than 25% of the target.
- Project page displays:
- Overall average rating.
- Project pictures in a slider.
- Four similar projects based on project tags.
**3 - Homepage:**
- Features:
- Slider showcasing the highest five rated running projects.
- List of the latest five projects.
- List of the latest five featured projects (selected by admins).
- Categories list with the ability to view projects in each category.
- Search bar for users to search projects by title or tag.
**Inspiration for the Project:**
- Drawing inspiration from popular crowdfunding platforms such as GoFundMe, Kickstarter, and Crowdfunding.com, the Raise-Together web application aims to provide users with a seamless and secure platform to create and contribute to fundraising campaigns. The robust authentication system ensures user security, while the project features offer a comprehensive and engaging experience for both creators and donors. The dynamic homepage encourages user interaction and highlights the most impactful and relevant projects.