Welcome to The Give Hub! This platform enables crowdfunding for social causes in underserved regions of Africa and Latin America. Built on the Stellar blockchain and leveraging Soroban smart contracts, we provide transparency, efficiency, and accountability for impactful projects. 💫
- Blockchain Integration: Built on the Stellar blockchain for secure, transparent transactions.
- Smart Contract Management: Milestone-based fund releases via Soroban smart contracts.
- High-Impact Campaigns: Focus on critical community needs (e.g., wells, schools, electricity).
- Global Accessibility: Empowering donors worldwide to make a difference.
- Secure Donations: Robust PHP backend ensures reliability and security.
- Backend: PHP 8+
- Blockchain: Stellar with Soroban smart contracts
- Database: MySQL, MongoDB
- Frontend: HTML, CSS, and JavaScript
- Server: Apache/Nginx
Follow these steps to set up the project on your local machine:
- PHP 8+ installed on your machine.
- Composer: Dependency manager for PHP.
- MySQL: Database for storing campaign and user data.
- MongoDB: For additional data storage.
- Web Server: Apache or Nginx.
-
Clone the Repository:
git clone https://github.com/thegivehub/app.git cd app
-
Install Dependencies:
composer install
-
Set Up Environment Variables:
- Duplicate the
.env.example
file and rename it to.env
. - Configure the following variables:
DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database_name DB_USERNAME=your_database_user DB_PASSWORD=your_database_password MONGODB_URI=mongodb://localhost:27017 MONGODB_DATABASE=your_mongodb_database_name STELLAR_NETWORK=public SOROBAN_ENDPOINT=https://soroban.example.com
- Duplicate the
-
Run Database Migrations:
php artisan migrate
-
Start the Server:
php -S localhost:8000 -t public
-
Access the App: Open http://localhost:8000 in your browser.
We welcome contributions! Follow these steps to get involved:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m "Add your message here"
- Push to your branch:
git push origin feature/your-feature-name
- Open a Pull Request.
- 📱 Mobile-first design for better accessibility.
- 🌐 Multilingual support for wider reach.
- 📊 Analytics dashboard for campaign performance insights.
- 🔒 Advanced security features.
This project is licensed under the MIT License.
A huge thanks to all contributors and supporters of The Give Hub. Together, we are making a meaningful impact! 🌟
For support, suggestions, or collaboration, feel free to reach out:
- Email: [email protected]
- Website: thegivehub.com
- Blog: blog.thegivehub.com
Changing lives, one project at a time. ❤️
The project maintains a detailed changelog following the Keep a Changelog format. The changelog tracks all significant changes to the project, including new features, changes, fixes, and more.
The changelog is available in the CHANGELOG.md file at the root of the repository.
There are two ways to update the changelog:
-
Manual Updates: You can edit the CHANGELOG.md file directly, adding your changes to the appropriate section under [Unreleased].
-
Automated Updates: Use the provided script to automatically generate changelog entries from git commits:
# Update the [Unreleased] section with all new commits
php tools/update-changelog.php
# Update with commits since a specific date
php tools/update-changelog.php --since="2025-01-01"
# Create a new version from the [Unreleased] section
php tools/update-changelog.php --version="1.1.0"
The changelog follows this structure:
- [Unreleased]: Changes that will be included in the next release
- [Version] - Date: Each released version with its release date
- Added: New features
- Changed: Changes to existing functionality
- Deprecated: Features that will be removed in upcoming releases
- Removed: Features that were removed
- Fixed: Bug fixes
- Security: Security fixes
- Keep entries concise and descriptive
- Include commit hashes where relevant
- Focus on user-facing changes rather than internal code changes
- Group related changes together
- Update the changelog as part of your development process, not just before releases