Grag GIG revolutionizes the way organizations and educational institutions manage career opportunities. Our platform serves as the bridge between employers seeking talent and students/professionals looking for their next career move. Built with modern web technologies and enterprise-grade architecture patterns, this system ensures scalability, maintainability, and exceptional user experience.
- Multi-tier Job Posting System - Create and manage internships, part-time, and full-time positions for undergraduates
- Advanced Applicant Management - Review and filter candidates
- Real-time Analytics Dashboard - Track application metrics and engagement
- Company Profile Management - Showcase company culture and opportunities
- Institutional Dashboard - Monitor student engagement and placement statistics
- Bulk Job Management - Post multiple opportunities across different departments
- Student Progress Tracking - Oversee application status and career development
- Reporting & Analytics - Generate comprehensive placement reports
- One-Click Applications - Streamlined application process
- Application Tracking - Wish to implement monitor status of all submitted applications
- Profile Builder - Create compelling professional profiles with resume upload
Frontend (Client-Side)
├── HTML5 - Semantic structure and accessibility
├── CSS3 - Modern styling with responsive design
└── JavaScript (ES6+) - Dynamic interactions and API consumption
Backend (Server-Side)
├── PHP 8+ - Server-side logic and business rules
├── RESTful API Design - Clean API endpoints
├── MySQL Database - Robust data persistence
└── Singleton Pattern - Consistent resource management
Our application extensively uses the Singleton Design Pattern to ensure:
- Database Connection Management - Single instance database connections
- Configuration Management - Centralized application settings
- Session Management - Consistent user state handling
- API Response Formatting - Uniform response structure
We implemented a clean separation of concerns by decoupling the frontend from the backend:
- Frontend - Pure client-side rendering with API consumption
- Backend - RESTful API serving JSON responses
This architecture provides:
- Scalability - Independent scaling of frontend and backend
- Maintainability - Clear separation of presentation and business logic
- Flexibility - Easy integration with mobile apps or third-party services
- Performance - Optimized API responses and caching strategies
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | HTML5, CSS3, JavaScript ES6+ | User interface and experience |
| Backend | PHP 8+ | Server-side logic and API |
| Database | MySQL 8.0+ | Data persistence and management |
| Architecture | RESTful API, Singleton Pattern | System design and structure |
| Communication | JSON | Client-server data exchange |
- PHP 8.0 or higher
- MySQL 8.0 or higher
- Apache web server
- Modern web browser
-
Clone the repository
git clone https://github.com/KavishkaVenuka/CSE2032-Group-Project.git cd CSE2032-Group-Project -
Configure the database
# Import the database schema mysql -u username -p database_name < database/schema.sql
-
Set up configuration
// config/database.php define('DB_HOST', 'localhost'); define('DB_USER', 'your_username'); define('DB_PASS', 'your_password'); define('DB_NAME', 'grag_gig');
-
Start the application
# For development php -S localhost:8000 # Or configure your web server to point to the project directory
-
Access the application
- Open your browser and navigate to
http://localhost:8000 - Create accounts for different user types to explore features
- Open your browser and navigate to
CSE2032-Group-Project/
├── frontend/ # Client-side application
│ ├── html/ # HTML templates
│ ├── css/ # Stylesheets
│ └── js/ # JavaScript modules
│
├── backend/ # Server-side API
│ └── php filse # All the php files
│
├── database/ # Database related files
│ └── job_cgu.sql # Database structure
│
└── docs/ # Documentation
- Multi-role Authentication - Students, Companies, Career Units
- Profile Management - Comprehensive user profiles
- Permission-based Access - Role-specific feature access
- Dynamic Job Posting - Rich job descriptions with requirements
- Advanced Search & Filtering - Location, type, experience level
- Application Workflow - Complete application lifecycle management
- Real-time Notifications - Status updates and messages
- Email Integration - Automated email communications
- In-app Messaging - Direct communication between users
- Input Validation & Sanitization - Protection against injection attacks
- Password Hashing - Industry-standard password security
- CSRF Protection - Cross-site request forgery prevention
- SQL Injection Prevention - Prepared statements and parameterized queries
- Database Query Optimization - Efficient database operations
- Caching Strategy - Reduced server load and faster responses
- Lazy Loading - Optimized resource loading
- Compressed Assets - Minified CSS and JavaScript files
Our application includes comprehensive testing:
- Unit Tests - Individual component testing
- Integration Tests - API endpoint testing
- User Acceptance Testing - End-to-end functionality verification
We welcome contributions from the community! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project was developed as part of the CSE2032 course, demonstrating modern web development practices and software engineering principles associated with Faculty of Computing University of Sri Jayewardenapura - Sri Lanka
- Live Demo: [Coming Soon]
- API Documentation: [Coming Soon]
- User Manual: Comprehensive guide for all user types
For support, please create an issue in this repository or contact the development team.
Built with ❤️ using modern web technologies
⭐ Star this repository if you found it helpful!