Modern Minesweeper game dengan fitur admin management dan profile system
Demo โข Features โข Installation โข Screenshots
Minesweeper Pro adalah implementasi modern dari game klasik Minesweeper dengan tambahan fitur-fitur canggih seperti user authentication, profile management, admin dashboard, dan leaderboard system. Dibangun menggunakan Laravel 11 dengan UI yang stunning menggunakan Tailwind CSS dan glassmorphism effects.
- 3 Tingkat Kesulitan: Easy (8x8), Medium (16x16), Hard (16x30)
- Real-time Timer: Track waktu bermain Anda
- Flag System: Tandai cell yang dicurigai sebagai mine
- Auto-reveal: Otomatis membuka cell kosong di sekitarnya
- Win/Lose Detection: Deteksi kemenangan dan kekalahan otomatis
- Score Recording: Semua game disimpan ke database
- Authentication System: Register, Login, Forgot Password
- Email Verification: Verifikasi email untuk keamanan
- Profile Management: Update nama, email, password
- Profile Photo Upload: Upload foto profil (max 2MB, JPG/PNG)
- Personal Dashboard: Lihat statistik game Anda
- Game History: Riwayat semua game yang dimainkan
- Personal Records: Best time untuk setiap tingkat kesulitan
- Global Leaderboard: Top 30 pemain terbaik
- Win Rate Tracking: Persentase kemenangan
- Best Time Records: Waktu tercepat per difficulty
- Total Games Played: Total game yang dimainkan
- Achievement System: Badge untuk pencapaian tertentu
- User Management Dashboard: Kelola semua user
- Search & Filter: Cari user by nama/email, filter by role
- Edit User Info: Update nama, email, role user
- Toggle User Role: Ubah role user โ admin
- Reset Password: Reset password user lain
- Delete User: Hapus user (dengan proteksi admin)
- Security Controls: Admin tidak bisa delete admin lain
- Modern Design: Purple-pink gradient theme
- Glassmorphism Effects: Transparent glass-like components
- Smooth Animations: Micro-interactions dan transitions
- Responsive Design: Mobile-friendly layout
- Dark Theme: Eye-friendly dark mode
- Loading States: Skeleton screens dan spinners
- Toast Notifications: Success/error messages
- Backend: Laravel 11.x
- Frontend: Blade Templates, Alpine.js
- Styling: Tailwind CSS
- Database: MySQL
- Authentication: Laravel Breeze
- File Storage: Laravel Storage (Public Disk)
- Build Tool: Vite
- PHP >= 8.2
- Composer
- Node.js & NPM
- MySQL
- Clone Repository
git clone https://github.com/AndikaFitra/Minesweeper.git
cd Minesweeper- Install Dependencies
composer install
npm install- Environment Setup
cp .env.example .env
php artisan key:generate- Database Configuration
Edit .env file:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=minesweeper
DB_USERNAME=root
DB_PASSWORD=- Run Migrations & Seeders
php artisan migrate --seed- Create Storage Link
php artisan storage:link- Build Assets
npm run build- Run Development Server
php artisan serveVisit: http://localhost:8000
Email: admin@minesweeper.com
Password: admin123
Email: user@minesweeper.com
Password: user123
Email: john@example.com
Password: password
Email: jane@example.com
Password: password
- Pilih Tingkat Kesulitan: Easy, Medium, atau Hard
- Klik Cell: Klik kiri untuk membuka cell
- Flag Mine: Klik kanan untuk menandai mine
- Angka: Menunjukkan jumlah mine di sekitar cell
- Menang: Buka semua cell yang bukan mine
- Kalah: Klik cell yang berisi mine
minesweeper/
โโโ app/
โ โโโ Http/
โ โ โโโ Controllers/
โ โ โ โโโ AdminController.php
โ โ โ โโโ GameController.php
โ โ โ โโโ ProfileController.php
โ โ โโโ Middleware/
โ โ โโโ IsAdmin.php
โ โโโ Models/
โ โโโ User.php
โ โโโ GameSession.php
โ โโโ ScoreRecord.php
โโโ database/
โ โโโ migrations/
โ โโโ seeders/
โ โโโ AdminUserSeeder.php
โโโ resources/
โ โโโ views/
โ โ โโโ admin/
โ โ โโโ auth/
โ โ โโโ minesweeper/
โ โ โโโ profile/
โ โโโ css/
โ โโโ app.css
โโโ routes/
โโโ web.php
- โ CSRF Protection
- โ SQL Injection Prevention
- โ XSS Protection
- โ Password Hashing (bcrypt)
- โ Email Verification
- โ Role-Based Access Control
- โ File Upload Validation
- โ Admin Action Protections
- Set Environment to Production
APP_ENV=production
APP_DEBUG=false- Optimize Application
php artisan config:cache
php artisan route:cache
php artisan view:cache- Build Production Assets
npm run buildContributions are welcome! Please feel free to submit a Pull Request.
- Fork the Project
- Create your 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 is licensed under the MIT License - see the LICENSE file for details.
Andika Fitra
- GitHub: @AndikaFitra
- Email: andika.namikaze02@gmail.com
- Laravel Framework
- Tailwind CSS
- Alpine.js
- Heroicons
Jika ada pertanyaan atau issue, silakan buka GitHub Issues.
Made with โค๏ธ by Andika Fitra
โญ Star this repo if you like it!