This project was created on October 2020 as a school project.
It’s a simple attendance monitoring system built with Laravel and MySQL that uses QR codes for employee and intern time tracking.
- Laravel 5.0
- MySQL
- iziToast (for notifications)
- Faker (for generating dummy data)
- Create, update, and delete users
- Upload user profile images
- Generate downloadable QR Code files
- Scan QR Codes for attendance logging
- Error handling for invalid scans and missing users
- Log active and inactive users
- Track late arrivals and undertime records
- Filter employee and intern records
- Use Seeder to populate dummy data in MySQL
- Install XAMPP: https://www.apachefriends.org/index.html
- Install Composer: https://getcomposer.org/download/
-
Clone the repository:
git clone https://github.com/m-antoni/login.git cd login -
Install dependencies:
composer install
-
Copy
.env.exampleto.envand configure your database connection (MySQL).cp .env.example .env
-
Generate the application key:
php artisan key:generate
-
Run database migrations and seeders:
php artisan migrate --seed
-
Start the Laravel development server:
php artisan serve
-
Visit the app in your browser at:
http://127.0.0.1:8000
To view all registered routes:
php artisan route:listYou can modify the seeder files to generate custom dummy data or change default admin credentials.
File: database/seeders/RegisterTableSeeder.php
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Register;
class RegisterTableSeeder extends Seeder
{
public function run(): void
{
Register::factory()->count(100)->create();
}
}To customize:
- Change the
count(100)value to specify how many dummy users you want to generate. - Modify the fields in your
RegisterFactoryto customize the dummy data (names, emails, etc.). - After editing, run:
php artisan db:seed --class=RegisterTableSeederFile: database/seeders/AdminTableSeeder.php
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Admin;
class AdminTableSeeder extends Seeder
{
public function run(): void
{
Admin::factory()->create([
'username' => 'admin',
'password' => bcrypt('123456'),
]);
}
}To customize:
- Change
'username'or'password'fields as needed. - Example:
'username' => 'superadmin',
'password' => bcrypt('mypassword123'),After editing, run:
php artisan db:seed --class=AdminTableSeeder/app— Application logic (models, controllers)/resources/views— Blade templates (frontend UI)/public— Public assets (images, scripts, styles)/database/seeders— Seeder files used to populate data/routes/web.php— Route definitions
- This project was an academic exercise, not intended for production use.
- Built with Laravel 5.0, so some syntax or dependencies may need updates for modern versions.
- Basic QR Code generation and scanning were used to simulate a real-world attendance system.
LinkedIn: https://linkedin.com/in/m-antoni
Email: michaelantoni.tech@gmail.com
