EBAOH ๐ฏ

Project overview ๐
EBAOH is a social network built around products, helping buyers make smarter decisions by gathering opinions from friends and the wider community.
You can recommend products, share experiences, create comparison surveys, and build a trusted reviewer network! ๐๐
Technical stack ๐ ๏ธ
Version 1
- Framework: CodeIgniter 4 (PHP) โ๏ธ
- Database: MySQL / MariaDB ๐๏ธ
- APIs:
- Facebook API (social login and content sharing) ๐
- Buscapรฉ API (product data) ๐ฆ
Version 2 (planned ๐)
- Language: PHP (framework to be decided) ๐ค
- Database: MySQL / MariaDB
- APIs:
- Facebook API
- Buscapรฉ API
Installation โก
Requirements ๐
- PHP 7.4 or higher
- MySQL 5.7+ or MariaDB 10.2+
- Composer ๐ฆ
- Node.js and NPM (for frontend assets) ๐
Setup instructions ๐ ๏ธ
- Clone the repository:
git clone https://github.com/guibranco/ebaoh.git cd ebaoh - Install PHP dependencies:
composer install - Configure your environment:
- Copy the example environment file:
cp env .env - Update your
.envwith database credentials:database.default.hostname = localhost database.default.database = ebaoh database.default.username = youruser database.default.password = yourpassword
- Copy the example environment file:
- Set up API keys:
facebook.app_id = your_app_id facebook.app_secret = your_app_secret buscape.api_key = your_buscape_api_key - Run database migrations:
php spark migrate - (Optional) Seed your database ๐ฑ:
php spark db:seed InitialSeeder - Start the development server ๐:
php spark serve
Project structure ๐๏ธ
Core components ๐งฉ
- User module: Registration, login, profiles, social connections ๐ค
- Product module: Product listings, recommendations, comments ๐๏ธ
- Survey module: Product comparison surveys and voting ๐
- Social integration: Facebook login and sharing ๐ฑ
- Ranking system: User credibility levels based on engagement โญ
Database schema overview ๐๏ธ
users: User accounts and profilesproducts: Product details from Buscapรฉrecommendations: User recommendationssurveys: Product surveysvotes: Survey votescomments: Product and survey commentsfriendships: Friendships between usersfollows: Following users or productsactivities: Activity tracking for rankings
Features โจ
- User accounts:
- Register, login, manage profiles ๐ฅ
- Product management:
- Search and browse products ๐ฆ
- Recommend, comment, and upload photos ๐ท
- Surveys:
- Create product comparisons ๐
- Vote and comment ๐ณ๏ธ
- Social features:
- Add friends, follow users and products ๐ฏโโ๏ธ
- Get real-time updates ๐
- Ranking system:
- Earn credibility as you engage ๐
- Social media integration:
- Share your activities on Facebook ๐
- Updates feed:
- Stay in the loop with your friendsโ actions ๐ฐ
API integrations ๐
Facebook API
- Social login โ
- Connect with friends ๐ฅ
- Share activities to the Facebook wall ๐ฐ
Buscapรฉ API
- Search products ๐
- Retrieve product details and specs ๐๏ธ
- Access product images ๐ท
Development guidelines ๐
Coding standards
- Follow PSR-12 coding style โ๏ธ
- Use CodeIgniter 4 conventions for Version 1
Contributing ๐ค
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add some amazing feature' - Push to GitHub:
git push origin feature/amazing-feature - Open a Pull Request ๐
Testing ๐งช
Run PHPUnit tests:
./vendor/bin/phpunit
Deployment ๐
Production requirements
- PHP 7.4+ with required extensions โ๏ธ
- MySQL 5.7+ or MariaDB 10.2+
- Web server (Apache or Nginx) ๐
- SSL certificate (required for Facebook API) ๐
Deployment steps
- Clone the repository on your server
- Set the web server document root to the
public/folder - Install dependencies:
composer install --no-dev - Set up production environment variables
- Run migrations:
php spark migrate - Set correct file permissions ๐ก๏ธ
Future plans (V2) ๐ฎ
- Choose the best framework for V2 โ๏ธ
- Optimize mobile experience ๐ฑ
- Expand API integrations ๐
- Boost performance ๐
- Develop smarter recommendation algorithms ๐ง
License ๐
Distributed under the MIT License.