Connecting talent with opportunities through intelligent matching and AI-powered assistance
- About the Project
- Features
- Technology Stack
- Prerequisites
- Installation
- Database Setup
- Project Structure
- Usage
- Contributing
- Database Schema
5ademni (Arabic: "Help Me") is a full-stack web application designed to bridge the gap between job seekers and employers. The platform provides intelligent job matching, event management, training programs, and an AI-powered chatbot to assist users in their career journey.
- User Authentication & Authorization: Secure login and registration system with role-based access control
- CRUD Operations: Complete Create, Read, Update, Delete functionality for all entities
- Admin Dashboard: Comprehensive back-office management system
- Job Posting System: Employers can post job opportunities with detailed requirements
- Job Application Tracking: Track and manage job applications with ease
- Job Field Categorization: Organize jobs by industry and specialization
- ๐ค AI Chatbot: Intelligent chatbot with custom knowledge base for career guidance
- ๐ฏ Job Recommendation Engine: Smart matching system that connects candidates with suitable positions
- ๐ Job Scraping: Automated job data aggregation from multiple sources
- ๐ Event Management: Create and manage career events, workshops, and networking opportunities
- ๐ Training Programs: Manage professional development and training courses
- ๐ Blog System: Share career advice, industry insights, and company news
- ๐ฌ Commenting System: Interactive discussions on blog posts and events
- ๐ง Notification System: Email notifications using PHPMailer and SMS notifications via Twilio
- PHP: Server-side scripting language
- MySQL: Relational database management system
- Python (Flask): AI chatbot backend service
- HTML5/CSS3: Modern web markup and styling
- JavaScript: Client-side interactivity
- TinyMCE: Rich text editor for content creation
- PHPMailer: Email sending functionality
- Twilio PHP SDK: SMS notifications
- Poe API Wrapper: AI chatbot integration
- Flask-CORS: Cross-origin resource sharing for Python backend
- phpMyAdmin: Database administration
- Composer: PHP dependency management
Before you begin, ensure you have the following installed:
- PHP >= 8.0
- MySQL >= 5.7 or MariaDB >= 10.4
- Apache or Nginx web server
- Composer (for PHP dependencies)
- Python >= 3.8 (for AI chatbot)
- pip (Python package manager)
git clone https://github.com/5ademni/projet-web-2A.git
cd projet-web-2Acd view
composer installcd view/chat
pip install flask flask-cors poe-api-wrapperEdit the database configuration file:
nano auth/config.phpUpdate the following parameters:
self::$pdo = new PDO(
'mysql:host=localhost;dbname=5ademni',
'your_username',
'your_password',
// ...
);Choose the appropriate SQL file based on your needs:
# Main database schema (recommended)
mysql -u your_username -p 5ademni < sql/5ademni_v2.sql
# Or individual modules:
mysql -u your_username -p 5ademni < sql/events.sql
mysql -u your_username -p 5ademni < sql/jobposts.sql
mysql -u your_username -p 5ademni < sql/blog.sql
mysql -u your_username -p 5ademni < sql/user.sqlSee sql/tips.md for useful database management commands.
projet-web-2A/
โโโ auth/ # Authentication configuration
โ โโโ config.php # Database connection settings
โ โโโ connexion.php # User authentication logic
โโโ controller/ # Business logic controllers
โ โโโ adminC.php
โ โโโ jobPostC.php
โ โโโ eventC.php
โ โโโ ...
โโโ model/ # Data models (entities)
โ โโโ admin.php
โ โโโ jobPost.php
โ โโโ event.php
โ โโโ ...
โโโ view/ # Frontend views
โ โโโ back_office/ # Admin dashboard
โ โโโ front_office/ # User-facing pages
โ โโโ chat/ # AI chatbot (Python/Flask)
โโโ sql/ # Database schemas
โโโ screenshots/ # Project screenshots
โโโ twilio-php-main/ # Twilio SDK for SMS
โโโ upload/ # User-uploaded files
โโโ README.md # Project documentation
Using PHP Built-in Server:
php -S localhost:8000Or configure Apache/Nginx to point to the project directory.
cd view/chat
python app.pyThe chatbot will be available at http://localhost:5000
- Frontend:
http://localhost:8000/view/front_office/ - Admin Panel:
http://localhost:8000/view/back_office/ - AI Chatbot: Integrated into the frontend pages
After database import, you can create an admin account through the admin panel or use any credentials set up in your database.
We welcome contributions! To contribute:
-
Sync your branch with the main branch before making changes
git checkout main git pull origin main git checkout -b feature/your-feature-name
-
Make your changes following the existing code style
-
Test thoroughly to ensure nothing breaks
-
Commit with clear messages
git add . git commit -m "Add: description of your changes"
-
Push and create a Pull Request
git push origin feature/your-feature-name
โ ๏ธ Important: Always sync your branches with the main branch before pushing your code!
The application uses a comprehensive relational database structure with the following main entities:
- Users & Authentication: User accounts, roles, and permissions
- Job Posts: Job listings with detailed requirements
- Applications: Job application tracking
- Events: Career events and workshops
- Formations: Training and development programs
- Blog: Articles and career advice
- Projects: Portfolio and project showcase
This project is part of a Web Development course (2A) and is intended for educational purposes.
Developed by students as part of their 2nd year Web Development project.
For questions or support, please open an issue in the GitHub repository.
Made with โค๏ธ by the 5ademni Team
Empowering careers, one match at a time
