Hello! I'm v0, Vercel's AI assistant. I'm here to help you with your web development projects. How can I assist you today? Whether you need help with:
Just let me know what you'd like to work on, and I'll help you get started!
📌 Judul Proyek:
Sistem Informasi Absensi Kelas Online Berbasis Laravel 12
📝 Deskripsi Singkat:
Bangun sebuah web aplikasi absensi kelas berbasis Laravel 12 yang modern, responsif, dan efisien. Aplikasi ini ditujukan untuk mempermudah guru atau dosen dalam mencatat kehadiran siswa/mahasiswa secara real-time dan menghasilkan laporan otomatis. Sistem ini mendukung berbagai peran pengguna, pengelolaan kelas, dan pelaporan yang terstruktur.
Kalau kamu mau, aku bisa bantu buatkan:
I'll help you build a modern classroom attendance system using Laravel 12. Let's start by planning the architecture and then implement the key components.
Let's start with the database design:
Here's the Laravel 12 project structure with key files:
app/
├── Http/
│ ├── Controllers/
│ │ ├── Admin/
│ │ │ ├── ClassController.php
│ │ │ ├── StudentController.php
│ │ │ ├── SubjectController.php
│ │ │ └── TeacherController.php
│ │ ├── Teacher/
│ │ │ ├── AttendanceController.php
│ │ │ └── ReportController.php
│ │ └── Student/
│ │ └── AttendanceViewController.php
│ ├── Middleware/
│ │ └── CheckRole.php
│ └── Requests/
│ ├── StoreAttendanceRequest.php
│ ├── StoreClassRequest.php
│ └── ...
├── Models/
│ ├── User.php
│ ├── Teacher.php
│ ├── Student.php
│ ├── ClassRoom.php
│ ├── Subject.php
│ ├── TeacherSubject.php
│ └── Attendance.php
├── Services/
│ ├── AttendanceService.php
│ └── ReportService.php
resources/
├── views/
│ ├── admin/
│ │ ├── classes/
│ │ ├── students/
│ │ ├── subjects/
│ │ └── teachers/
│ ├── teacher/
│ │ ├── attendance/
│ │ └── reports/
│ ├── student/
│ │ └── attendance/
│ ├── components/
│ │ ├── layout.blade.php
│ │ ├── sidebar.blade.php
│ │ └── ...
│ └── dashboard.blade.php
routes/
├── web.php
└── api.phpFirst, let's set up authentication with Laravel Breeze and customize it for our roles:
setup-auth.js
Let's modify the User model to include roles:
app/Models/User.php
Let's create the migrations for our database tables:
database/migrations/2023_01_01_000001_add_role_to_users_table.php
database/migrations/2023_01_01_000002_create_classes_table.php
database/migrations/2023_01_01_000003_create_teachers_table.php
database/migrations/2023_01_01_000004_create_students_table.php
database/migrations/2023_01_01_000005_create_subjects_table.php
database/migrations/2023_01_01_000006_create_teacher_subjects_table.php
database/migrations/2023_01_01_000007_create_attendances_table.php
Let's create the models for our entities:
app/Models/ClassRoom.php
app/Models/Teacher.php
app/Models/Student.php
app/Models/Subject.php
app/Models/TeacherSubject.php
app/Models/Attendance.php
Let's create a middleware to check user roles:
app/Http/Middleware/CheckRole.php
Register the middleware in app/Http/Kernel.php:
app/Http/Kernel.php
Let's define our routes:
routes/web.php
Let's implement some of the key controllers:
app/Http/Controllers/Admin/ClassController.php
app/Http/Controllers/Teacher/AttendanceController.php
Let's create some of the key views:
resources/views/layouts/app.blade.php
resources/views/teacher/attendance/create.blade.php
resources/views/teacher/reports/index.blade.php
Let's implement the report controller for generating reports:
app/Http/Controllers/Teacher/ReportController.php
Let's create the Excel export class:
app/Exports/AttendanceExport.php
Let's create the dashboard views for each role:
resources/views/admin/dashboard.blade.php
resources/views/teacher/dashboard.blade.php
resources/views/student/dashboard.blade.php
To set up this Laravel 12 Classroom Attendance System, follow these steps:
composer create-project laravel/laravel classroom-attendance
cd classroom-attendancecomposer require laravel/breeze --dev
composer require barryvdh/laravel-dompdf
composer require maatwebsite/excelphp artisan breeze:install blade
npm install
npm run build.env file:DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=classroom_attendance
DB_USERNAME=root
DB_PASSWORD=php artisan migratephp artisan make:seeder AdminUserSeederdatabase/seeders/AdminUserSeeder.php file:<?php
namespace Database\Seeders;
use App\Models\User;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
class AdminUserSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
User::create([
'name' => 'Admin User',
'email' => 'admin@example.com',
'password' => Hash::make('password'),
'role' => 'admin',
]);
}
}php artisan db:seed --class=AdminUserSeederphp artisan servehttp://localhost:8000 and log in with:This Laravel 12 Classroom Attendance System provides a comprehensive solution for managing student attendance. The system includes:
The application follows Laravel best practices and is built with a clean, modular architecture that makes it easy to maintain and extend.