NitipAbiz adalah platform pemesanan dan pengiriman makanan berbasis web yang dirancang khusus untuk lingkungan sekolah. Platform ini menghubungkan Customer, Canteen Sellers, dan Couriers dalam ekosistem lokal sekolah, memungkinkan siswa untuk memesan makanan dari kantin sekolah dengan sistem pengiriman yang aman dan terpercaya.
- Multi-Role System: Customer, Seller, Courier, dan System Manager
- School-Based Locality: Semua transaksi berbasis sekolah
- Identity Verification: Validasi NIS dan verifikasi identitas
- Real-time Order Tracking: Pelacakan status pesanan secara real-time
- Cash Payment System: Sistem pembayaran tunai yang sederhana
- Dispute Management: Sistem pelaporan dan penyelesaian sengketa
- Backend: Laravel 12.x
- PHP: 8.2.12
- Database: MariaDB 10.4.32 (MySQL-compatible)
- Frontend: Blade Templates + Vite + Tailwind CSS
- Node.js: v22.20.0
Sebelum memulai, pastikan Anda sudah menginstall:
- PHP 8.2+
- Composer
- Node.js 22.x+
- XAMPP (untuk MariaDB/MySQL)
- Git
git clone <repository-url>
cd nitipabiz-app# Install PHP dependencies
composer install
# Install Node.js dependencies
npm install# Copy environment file
cp .env.example .env
# Generate application key
php artisan key:generatePENTING: Pastikan XAMPP MySQL service sudah berjalan!
# Buat database melalui XAMPP phpMyAdmin atau command line
mysql -u root -e "CREATE DATABASE nitipabiz;"
# Update .env file dengan konfigurasi database:
# DB_CONNECTION=mariadb
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=nitipabiz
# DB_USERNAME=root
# DB_PASSWORD=
# Run migrations
php artisan migrate# Terminal 1 - Laravel Server
php artisan serve
# Terminal 2 - Vite Dev Server
npm run devAplikasi akan berjalan di: http://localhost:8000
nitipabiz-app/
βββ app/
β βββ Http/
β β βββ Controllers/ # Application controllers
β βββ Models/ # Eloquent models
βββ config/ # Configuration files
βββ database/
β βββ migrations/ # Database migrations
β βββ seeders/ # Database seeders
β βββ factories/ # Model factories
βββ public/ # Public assets
βββ resources/
β βββ views/ # Blade templates
β βββ css/ # Stylesheets
β βββ js/ # JavaScript files
βββ routes/ # Application routes
βββ storage/ # Storage files (logs, cache, uploads)
βββ tests/ # Application tests
- schools - Data sekolah
- users - Data pengguna dengan roles
- student_registry - Registry siswa untuk validasi NIS
- canteens - Data kantin sekolah
- menus - Menu makanan
- orders - Data pesanan
- order_items - Detail item pesanan
- deliveries - Data pengiriman
- order_history - History status pesanan
- disputes - Laporan dispute transaksi
| Role | Deskripsi |
|---|---|
| Customer | Siswa yang memesan makanan |
| Seller | Pemilik/pengelola kantin |
| Courier | Kurir pengiriman pesanan |
| System Manager | Administrator platform |
.env- Contains database credentials and app secretsstorage/*.key- Private encryption keys/auth.json- Composer authentication- Any backup files (
.sql,.dump)
- Environment Variables: All sensitive data in
.env(never committed) - Identity Verification: NIS validation + photo verification
- Ban Evasion Prevention: School ID + NIS binding
- Transaction Logging: Complete order history tracking
- Secure File Storage: User uploads isolated in storage directory
- CSRF Protection: Laravel CSRF tokens on all forms
- SQL Injection Prevention: Eloquent ORM and prepared statements
- Follow PSR-12 coding standards
- Use Laravel best practices
- Write meaningful commit messages
- Keep controllers thin, models fat
# Create feature branch
git checkout -b feature/your-feature-name
# Make changes and commit
git add .
git commit -m "feat: add your feature description"
# Push to remote
git push origin feature/your-feature-namefeat:New featurefix:Bug fixdocs:Documentation changesstyle:Code style changes (formatting)refactor:Code refactoringtest:Adding testschore:Maintenance tasks
# Run all tests
php artisan test
# Run specific test
php artisan test --filter=TestName- Set
APP_ENV=productionin.env - Set
APP_DEBUG=falsein.env - Generate new
APP_KEY - Configure production database credentials
- Set up proper file permissions (
storage/andbootstrap/cache/) - Enable HTTPS
- Configure proper CORS settings
- Set up automated backups
- Configure proper logging
- Run
composer install --optimize-autoloader --no-dev - Run
npm run build - Run
php artisan config:cache - Run
php artisan route:cache - Run
php artisan view:cache
Contributions are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
If you discover a security vulnerability, please send an email to the development team. All security vulnerabilities will be promptly addressed.
DO NOT create public GitHub issues for security vulnerabilities.
This project is proprietary software. All rights reserved.
- Project Name: NitipAbiz
- Version: 1.0.0 (MVP)
- Status: Development Phase 1
- Started: July 27, 2026
- PROJECT_SETUP.md - Detailed setup and architecture documentation
- SECURITY.md - Security guidelines and policies
- CONTRIBUTING.md - Contribution guidelines
For support and questions:
- Check PROJECT_SETUP.md for detailed documentation
- Review existing GitHub issues
- Create a new issue with detailed information
Made with β€οΈ for Indonesian School Communities