A modern, efficient web application designed to track and manage intern working hours, absence requests, and performance logs.
Irven Abarquez Teddy Bermudo Lawrence Heras Ivan Abarquez
- Backend: PHP 8.x
- Database: MySQL
- Frontend: Vanilla JavaScript, HTML5, CSS3 (with Tailwind CSS utilities)
- Authentication: Google OAuth 2.0
- CI/CD: GitHub Actions (Auto-deploy to InfinityFree)
- Hour Logging: Easy-to-use calendar interface to log daily working hours.
- Absence Requests: Submit absence requests with reasons and track approval status.
- Visual Progress: Dynamic dashboard showing total hours, monthly totals, and filtered statistics.
- Colleague View: See fellow interns in the same office.
- Holiday Awareness: Automatic display of important Philippine holidays on the calendar.
- Intern Management: Overview of all interns within their office/organization.
- Detailed Logs: View individual intern logs and calendar history.
- Absence Approval: Review, approve, or reject pending absence requests in real-time.
- Supervisor Badge: Clear indicators when viewing intern data for administrative purposes.
- Responsive Design: Mobile-friendly interface for logging hours on the go.
- Automated Deployment: Seamless CI/CD pipeline that syncs code to hosting upon every push.
- Secure Auth: Integrated with Google for secure and easy login.
-
Clone the repository:
git clone https://github.com/Tedeyy/Intern-Hours.git
-
Database Setup:
- Create a MySQL database named
intern_hours_db. - Import the schema from
assets/db/mysql.db(if provided as SQL) or create the necessary tables. - Run via CLI: php migrate.php
- Create a MySQL database named
-
Configuration:
- Run via CLI: cp .env.example .env
- Update your database credentials and Google OAuth keys.
-
Run Locally:
- Use XAMPP/WAMP or a local PHP server.
- Access via
http://localhost/Intern-Hours. - Run via CLI: php -S localhost:8000
This project uses GitHub Actions for CI/CD. To deploy:
- Ensure
FTP_SERVER,FTP_USERNAME, andFTP_PASSWORDare set in your GitHub Repository Secrets. - Push to the
mainorhostingtweaksbranch. - The pipeline will automatically sync files to your InfinityFree
htdocs/folder.
Developed with ❤️ for efficient intern management.