Skip to content

Fauzaro01/SiPras

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SiPras - Sistem Prasarana Sekolah

Laravel PHP Tailwind CSS License

Aplikasi web modern untuk mengelola dan merespons aspirasi/pengaduan prasarana sekolah.

Tentang Proyek

SiPras adalah sistem informasi berbasis web yang dirancang untuk memfasilitasi komunikasi antara siswa dan manajemen sekolah dalam mengelola kerusakan atau masalah prasarana sekolah. Siswa dapat dengan mudah melaporkan masalah prasarana, sementara admin dapat mengelola, merespons, dan melacak status setiap laporan.

🎯 Fitur Utama

  • Autentikasi Multi-Role:

    • Admin login dengan username
    • Siswa login dengan NIS (Nomor Induk Siswa)
  • Dashboard Statistik:

    • Ringkasan total aspirasi
    • Grafik distribusi berdasarkan status (pending, ditanggapi, ditutup)
    • Statistik perbulan
  • Manajemen Aspirasi:

    • Siswa dapat membuat aspirasi baru dengan kategori, deskripsi, dan lokasi
    • Upload foto bukti kerusakan
    • Melihat riwayat aspirasi mereka
    • Menghapus aspirasi mereka sendiri
  • Pengelolaan Admin:

    • Melihat semua aspirasi dari seluruh siswa
    • Filter dan pencarian aspirasi
    • Mengubah status aspirasi (pending, ditanggapi, ditutup)
    • Memberikan tanggapan/respon terhadap laporan
  • Interface Modern:

    • Desain responsif menggunakan Tailwind CSS
    • UI intuitif dan mudah digunakan
    • Kompatibel dengan perangkat desktop dan mobile

πŸ› οΈ Teknologi

Teknologi Versi Deskripsi
Laravel 11 Framework PHP modern
PHP β‰₯ 8.2 Bahasa pemrograman backend
Tailwind CSS 4 Framework CSS untuk styling
Vite 7+ Build tool cepat
MySQL/PostgreSQL - Database relasional
Composer - Package manager PHP
NPM - Package manager JavaScript

πŸ“¦ Instalasi

Prasyarat

  • PHP 8.2 atau lebih tinggi
  • Composer
  • Node.js dan NPM
  • Database server (MySQL atau PostgreSQL)

Langkah-langkah

  1. Clone atau setup project

    cd c:\Users\Fauzaro01\Documents\Github\SiPras
  2. Install dependencies PHP dan JavaScript

    composer install
    npm install
  3. Setup environment

    copy .env.example .env
    php artisan key:generate
  4. Konfigurasi database (edit file .env)

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=sipras
    DB_USERNAME=root
    DB_PASSWORD=
  5. Jalankan migrasi database

    php artisan migrate:fresh --seed
  6. Build assets (development)

    npm run dev
  7. Jalankan aplikasi

    php artisan serve
  8. Akses aplikasi Buka browser dan akses: http://localhost:8000

πŸ‘€ Akun Default

Setelah menjalankan seeder, gunakan akun berikut untuk testing:

Admin

Field Nilai
Username admin
Password admin123

Siswa

NIS Password Nama Kelas
12345 12345 Budi Santoso X-1
12346 12346 Siti Nurhaliza X-2
12347 12347 Ahmad Fauzi XI-1

πŸ“Š Struktur Database

Tabel Users

Field Tipe Deskripsi
id INT Primary key
name VARCHAR Nama lengkap pengguna
email VARCHAR Email (opsional)
username VARCHAR Username untuk admin (opsional)
nis VARCHAR NIS untuk siswa (opsional)
role ENUM Role pengguna: admin atau siswa
kelas VARCHAR Kelas siswa (opsional)
password VARCHAR Password terenkripsi

Tabel Categories

Field Tipe Deskripsi
id INT Primary key
nama VARCHAR Nama kategori prasarana
deskripsi TEXT Deskripsi kategori

Tabel Aspirations

Field Tipe Deskripsi
id INT Primary key
user_id INT Foreign key ke tabel users
category_id INT Foreign key ke tabel categories
judul VARCHAR Judul aspirasi
deskripsi TEXT Deskripsi lengkap masalah
lokasi VARCHAR Lokasi detail masalah
bukti_foto VARCHAR Path file foto bukti (opsional)
status ENUM Status: pending, ditanggapi, ditutup
tanggapan TEXT Tanggapan dari admin (opsional)
created_at TIMESTAMP Waktu pembuatan
updated_at TIMESTAMP Waktu terakhir diupdate

πŸš€ Menjalankan Development

Development dengan Watch Mode

npm run dev

Production Build

npm run build

Artisan Commands yang Berguna

# Membuat migration baru
php artisan make:migration nama_migration

# Membuat model baru
php artisan make:model NamaModel

# Membuat controller
php artisan make:controller NamaController

# Reset database
php artisan migrate:reset

# Seed database
php artisan db:seed

πŸ“ Struktur Folder

β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ Http/
β”‚   β”‚   β”œβ”€β”€ Controllers/      # Controller aplikasi
β”‚   β”‚   └── Middleware/       # Middleware
β”‚   β”œβ”€β”€ Models/               # Eloquent models
β”‚   └── Providers/            # Service providers
β”œβ”€β”€ bootstrap/                # Bootstrap aplikasi
β”œβ”€β”€ config/                   # File konfigurasi
β”œβ”€β”€ database/
β”‚   β”œβ”€β”€ migrations/           # Database migrations
β”‚   β”œβ”€β”€ factories/            # Model factories
β”‚   └── seeders/              # Database seeders
β”œβ”€β”€ public/                   # File publik
β”œβ”€β”€ resources/
β”‚   β”œβ”€β”€ css/                  # CSS files
β”‚   β”œβ”€β”€ js/                   # JavaScript files
β”‚   └── views/                # Blade templates
β”œβ”€β”€ routes/                   # Route definitions
β”œβ”€β”€ storage/                  # File penyimpanan
β”œβ”€β”€ tests/                    # Test files
└── vendor/                   # Dependencies (auto-generated)

πŸ” Keamanan

  • Password disimpan dengan hashing bcrypt
  • CSRF protection pada semua form
  • Role-based access control (RBAC)
  • Input validation pada semua endpoints

πŸ“ Lisensi

Proyek ini dilisensikan di bawah lisensi MIT. Lihat file LICENSE untuk detail lengkapnya.

πŸ‘¨β€πŸ’» Kontribusi

Kontribusi sangat diterima! Untuk berkontribusi:

  1. Fork repository ini
  2. Buat branch fitur baru (git checkout -b feature/AmazingFeature)
  3. Commit perubahan (git commit -m 'Add some AmazingFeature')
  4. Push ke branch (git push origin feature/AmazingFeature)
  5. Buka Pull Request

πŸ“ž Support

Jika Anda memiliki pertanyaan atau menemukan bug, silakan buka issue di repository ini.

πŸ“… Changelog

v1.0.0 (2026-02-26)

  • Initial release
  • Fitur autentikasi multi-role
  • Dashboard statistik
  • Manajemen aspirasi
  • Pengelolaan admin

Dibuat dengan ❀️ menggunakan Laravel dan Tailwind CSS

About

Aplikasi web modern untuk mengelola dan merespons aspirasi/pengaduan prasarana sekolah.

Topics

Resources

License

Stars

Watchers

Forks

Contributors