Making comprehensive docker-compose for full-stack application deployment
Go to file
Azis d9392d0d1e feat: Aplikasi SIPINTAR - Sistem Pemantauan Interaktif dan Pintar untuk Manajemen Sekolah
- Setup Next.js 15 dengan TypeScript dan Tailwind CSS
- Implementasi Prisma ORM dengan MySQL database
- Sistem autentikasi JWT untuk admin, guru, dan siswa
- Dashboard dengan analytics dan chart data menggunakan Recharts
- CRUD operations untuk siswa, guru, kelas, dan mata pelajaran
- Sistem penilaian dan absensi
- Landing page dengan branding SIPINTAR yang tepat
- Database seeding dengan data demo
- Dokumentasi setup database MySQL
2025-07-28 12:04:02 +07:00
.github feat: Aplikasi SIPINTAR - Sistem Pemantauan Interaktif dan Pintar untuk Manajemen Sekolah 2025-07-28 12:04:02 +07:00
prisma feat: Aplikasi SIPINTAR - Sistem Pemantauan Interaktif dan Pintar untuk Manajemen Sekolah 2025-07-28 12:04:02 +07:00
public Initial commit from Create Next App 2025-07-28 10:12:31 +07:00
src feat: Aplikasi SIPINTAR - Sistem Pemantauan Interaktif dan Pintar untuk Manajemen Sekolah 2025-07-28 12:04:02 +07:00
.gitignore feat: Aplikasi SIPINTAR - Sistem Pemantauan Interaktif dan Pintar untuk Manajemen Sekolah 2025-07-28 12:04:02 +07:00
DATABASE_SETUP.md feat: Aplikasi SIPINTAR - Sistem Pemantauan Interaktif dan Pintar untuk Manajemen Sekolah 2025-07-28 12:04:02 +07:00
README.md feat: Aplikasi SIPINTAR - Sistem Pemantauan Interaktif dan Pintar untuk Manajemen Sekolah 2025-07-28 12:04:02 +07:00
eslint.config.mjs Initial commit from Create Next App 2025-07-28 10:12:31 +07:00
next.config.ts Initial commit from Create Next App 2025-07-28 10:12:31 +07:00
package-lock.json feat: Aplikasi SIPINTAR - Sistem Pemantauan Interaktif dan Pintar untuk Manajemen Sekolah 2025-07-28 12:04:02 +07:00
package.json feat: Aplikasi SIPINTAR - Sistem Pemantauan Interaktif dan Pintar untuk Manajemen Sekolah 2025-07-28 12:04:02 +07:00
postcss.config.mjs Initial commit from Create Next App 2025-07-28 10:12:31 +07:00
setup-database.sql feat: Aplikasi SIPINTAR - Sistem Pemantauan Interaktif dan Pintar untuk Manajemen Sekolah 2025-07-28 12:04:02 +07:00
tsconfig.json Initial commit from Create Next App 2025-07-28 10:12:31 +07:00

README.md

SIPINTAR - Sistem Informasi Pintar Sekolah

Aplikasi manajemen sekolah modern yang dibangun dengan Next.js, TypeScript, Prisma ORM, dan MySQL.

Fitur Utama

  • 👨‍💼 Dashboard Admin: Kelola seluruh sistem sekolah
  • 👨‍🎓 Manajemen Siswa: CRUD siswa, enrollment kelas, data orang tua
  • 👨‍🏫 Manajemen Guru: CRUD guru, assignment mata pelajaran, kualifikasi
  • 🏫 Manajemen Kelas: Pembagian kelas, wali kelas, mata pelajaran
  • Sistem Absensi: Input dan monitoring kehadiran realtime
  • 📊 Sistem Penilaian: Input nilai, laporan akademik, tracking progress
  • 🔐 Authentication: Login role-based (Admin, Guru, Siswa)
  • 📱 Responsive Design: Mobile-first approach

🛠️ Tech Stack

  • Frontend: Next.js 15, React, TypeScript, Tailwind CSS
  • Backend: Next.js API Routes
  • Database: MySQL dengan Prisma ORM
  • Authentication: JWT dengan bcryptjs
  • UI Components: Radix UI, Lucide React
  • Styling: Tailwind CSS

🚀 Quick Start

Prerequisites

  • Node.js 18+
  • MySQL Database
  • npm/yarn/pnpm

Installation

  1. Clone repository (jika dari git)

    git clone <repository-url>
    cd sipintar-app
    
  2. Install dependencies

    npm install
    
  3. Setup Database

    • Buat database MySQL baru
    • Copy .env.example ke .env
    • Update connection string database di .env:
    DATABASE_URL="mysql://username:password@localhost:3306/sipintar_school"
    NEXTAUTH_SECRET="your-secret-key-here"
    NEXTAUTH_URL="http://localhost:3000"
    
  4. Setup Database Schema

    npx prisma db push
    npx prisma generate
    
  5. Seed Database dengan Data Demo

    npm run db:seed
    
  6. Jalankan Development Server

    npm run dev
    
  7. Akses Aplikasi Buka http://localhost:3000

👥 Demo Accounts

Setelah menjalankan seeding, gunakan akun demo berikut:

  • Admin: admin@sipintar.com / admin123
  • Guru: guru@sipintar.com / guru123
  • Siswa: siswa@sipintar.com / siswa123

📁 Struktur Database

Users & Roles

  • User: Base table untuk semua pengguna
  • Student: Profile siswa dengan data orang tua
  • Teacher: Profile guru dengan spesialisasi

Academic Management

  • Subject: Mata pelajaran yang diajarkan
  • Class: Kelas dengan wali kelas dan mata pelajaran
  • ClassStudent: Relasi many-to-many siswa dan kelas
  • AcademicYear: Tahun akademik

Operations

  • Attendance: Sistem absensi harian
  • Grade: Sistem penilaian dengan berbagai jenis nilai

🔧 Available Scripts

npm run dev          # Jalankan development server
npm run build        # Build untuk production
npm run start        # Jalankan production server
npm run lint         # Jalankan ESLint
npm run db:generate  # Generate Prisma client
npm run db:push      # Push schema ke database
npm run db:seed      # Seed database dengan data demo

📐 Project Structure

src/
├── app/                 # Next.js App Router
│   ├── api/            # API routes
│   ├── auth/           # Authentication pages
│   ├── dashboard/      # Dashboard pages
│   └── page.tsx        # Homepage
├── lib/                # Utility functions
│   ├── prisma.ts       # Database connection
│   ├── auth.ts         # Authentication helpers
│   └── utils.ts        # General utilities
└── components/         # React components

prisma/
├── schema.prisma       # Database schema
└── seed.ts            # Database seeding script

🎯 Roadmap

  • NextAuth.js integration
  • Email notifications
  • File upload untuk foto profil
  • Advanced reporting & analytics
  • Mobile app dengan React Native
  • Integration dengan sistem pembayaran
  • Multi-tenant support

🤝 Contributing

  1. Fork repository
  2. Buat feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push branch (git push origin feature/amazing-feature)
  5. Open Pull Request

📄 License

This project is licensed under the MIT License.

🆘 Support

Untuk bantuan dan dukungan:


Dibuat dengan ❤️ menggunakan Next.js

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.