https://github.com/arfazrll/snbtin
UTBKIn - Platform e-learning terdepan untuk persiapan UTBK bagi siswa SMA di Indonesia, membantu siswa meraih impian kuliah di PTN terbaik.
https://github.com/arfazrll/snbtin
elearning-platform frontend nextjs reactjs typescript
Last synced: 2 months ago
JSON representation
UTBKIn - Platform e-learning terdepan untuk persiapan UTBK bagi siswa SMA di Indonesia, membantu siswa meraih impian kuliah di PTN terbaik.
- Host: GitHub
- URL: https://github.com/arfazrll/snbtin
- Owner: Arfazrll
- License: mit
- Created: 2025-03-08T15:38:28.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-03-10T05:26:48.000Z (2 months ago)
- Last Synced: 2025-03-10T05:28:09.710Z (2 months ago)
- Topics: elearning-platform, frontend, nextjs, reactjs, typescript
- Language: TypeScript
- Homepage: https://snbtin.vercel.app
- Size: 1.72 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ SNBTIn - Platform Persiapan SNBT 2025
[](https://nextjs.org/)
[](https://www.typescriptlang.org/)
[](https://reactjs.org/)
Platform e-learning #1 di Indonesia untuk persiapan SNBT bagi siswa SMA
Membantu siswa meraih impian masuk perguruan tinggi negeri terbaik dengan percaya diri dan hasil maksimal---
## ๐ Table of Contents
- [๐ Overview](#-overview)
- [โจ Key Features](#-key-features)
- [๐ ๏ธ Tech Stack](#๏ธ-tech-stack)
- [๐ Project Structure](#-project-structure)
- [โ๏ธ Installation & Setup](#๏ธ-installation--setup)
- [๐ง Development](#-development)
- [๐ฑ Pages Overview](#-pages-overview)
- [๐งฉ Components](#-components)
- [๐จ UI Components](#-ui-components)
- [๐ช Custom Hooks](#-custom-hooks)
- [๐ Effects & Animations](#-effects--animations)
- [๐ Platform Statistics](#-platform-statistics)
- [๐ API References](#-api-references)
- [๐งช Testing](#-testing)
- [๐ Environment Variables](#-environment-variables)
- [๐ข Deployment](#-deployment)
- [๐ฅ Team](#-team)
- [๐ Contact](#-contact)
- [๐ License](#-license)---
## ๐ Overview
**SNBTIn** adalah platform persiapan SNBT (Seleksi Nasional Berbasis Tes) terpercaya yang dirancang khusus untuk siswa SMA di Indonesia. Platform ini menyediakan ekosistem pembelajaran komprehensif dengan materi berkualitas, latihan soal, forum diskusi, dan fitur-fitur interaktif yang membantu siswa mempersiapkan diri secara optimal untuk SNBT guna melanjutkan pendidikan ke perguruan tinggi negeri impian mereka.๐ Statistik Platform
- **10,000+** Siswa Aktif
- **85%** Tingkat Kelulusan Siswa
- **98%** Kemiripan Soal dengan SNBT
- **10,000+** Latihan Soal Tersedia
- **4.8/5** Rating Rata-rata---
## โจ Key Features
๐ Materi Lengkap
Materi pembelajaran komprehensif untuk semua mata pelajaran SNBT dengan format video, PDF, dan dokumen interaktif.
๐ฅ Video Interaktif
Pembelajaran melalui video dengan penjelasan detail dari pengajar berpengalaman yang mudah dipahami.
๐ Latihan Soal
Ribuan latihan soal dengan pembahasan detail dan analisis kesalahan untuk membantu meningkatkan kemampuan.
๐ฌ Forum Diskusi
Wadah untuk bertanya, berdiskusi, dan mendapatkan jawaban dari pengajar maupun sesama siswa.
๐ Analisis Kemampuan
Pantau perkembangan belajar dengan dashboard analisis performa detail dan rekomendasi materi.
๐ฏ Tryout Berkala
Simulasi SNBT secara berkala dengan soal-soal terbaru untuk mengukur kesiapan menghadapi ujian sesungguhnya.
๐ Dark/Light Mode
Fitur tampilan gelap/terang untuk kenyamanan belajar di berbagai kondisi pencahayaan.
๐ฑ Responsive Design
Tampilan responsif yang optimal di berbagai perangkat, dari desktop hingga smartphone.
---
## ๐ ๏ธ Tech Stack
Frontend
- **Framework**: [Next.js](https://nextjs.org/) (v13.4.19)
- **Language**: [TypeScript](https://www.typescriptlang.org/) (v5.1.6)
- **UI Library**: [React](https://reactjs.org/) (v18.2.0)
- **Styling**:
- CSS Modules
- [Tailwind CSS](https://tailwindcss.com/) (inferring from structure)
- **State Management**: React Context API + Custom Hooks
- **Animation Libraries**:
- Custom CSS Animations
- [Framer Motion](https://www.framer.com/motion/) (inferred)
- **3D Visualization**: [Three.js](https://threejs.org/) (inferred from ThreeDModel component)Backend (inferred)
- **API Routes**: Next.js API Routes
- **Database**: Not specified (possibly MongoDB or PostgreSQL)
- **Authentication**: Next.js Authentication (inferred from login page)DevOps & Tools
- **Linting**: ESLint (eslint.config.mjs)
- **Code Formatting**: Prettier (inferred)
- **Version Control**: Git
- **Package Manager**: npm---
## ๐ Project Structure
```
SNBTIn/
โโโ .next/ # Next.js build output
โโโ node_modules/ # Dependencies
โโโ public/ # Static assets
โโโ src/ # Source code
โ โโโ components/ # React components
โ โ โโโ effects/ # Visual effects components
โ โ โ โโโ AnimatedWaveBackground.tsx
โ โ โ โโโ DynamicHeroBackground.tsx
โ โ โ โโโ FloatingElements.tsx
โ โ โ โโโ ParallaxHero.tsx
โ โ โ โโโ ParticlesBackground.tsx
โ โ โ โโโ ThreeDModel.tsx
โ โ โโโ home/ # Homepage specific components
โ โ โ โโโ CTASection.tsx
โ โ โ โโโ FeatureCard.tsx
โ โ โ โโโ FeaturesSection.tsx
โ โ โ โโโ HeroSection.tsx
โ โ โ โโโ TestimonialCard.tsx
โ โ โ โโโ TestimonialsSection.tsx
โ โ โโโ layout/ # Layout components
โ โ โ โโโ DarkModeToggle.tsx
โ โ โ โโโ Footer.tsx
โ โ โ โโโ Layout.tsx
โ โ โ โโโ Navbar.tsx
โ โ โโโ profile/ # Profile page components
โ โ โ โโโ TeamMemberCard.tsx
โ โ โ โโโ TeamSection.tsx
โ โ โโโ ui/ # Reusable UI components
โ โ โโโ Alert.tsx
โ โ โโโ Badge.tsx
โ โ โโโ Button.tsx
โ โ โโโ Card.tsx
โ โ โโโ Modal.tsx
โ โโโ hooks/ # Custom React hooks
โ โ โโโ useLocalStorage.js
โ โ โโโ useMediaQuery.js
โ โ โโโ useScrollAnimation.js
โ โโโ pages/ # Next.js pages
โ โ โโโ api/ # API routes
โ โ โ โโโ hello.js
โ โ โโโ _app.tsx # Custom App component
โ โ โโโ _document.tsx # Custom Document
โ โ โโโ forum-diskusi.tsx # Forum diskusi page
โ โ โโโ index.tsx # Homepage
โ โ โโโ kelas-online.tsx # Online classes page
โ โ โโโ login.tsx # Login page
โ โ โโโ materi.tsx # Materials page
โ โ โโโ profil-saya.tsx # User profile page
โ โ โโโ profil.tsx # Team profile page
โ โโโ styles/ # Global styles
โ โ โโโ animations.css # Animation styles
โ โ โโโ globals.css # Global CSS
โ โโโ utils/ # Utility functions
โ โโโ data.js # Static data
โโโ .gitignore # Git ignore rules
โโโ eslint.config.mjs # ESLint configuration
โโโ jsconfig.json # JavaScript configuration
โโโ LICENSE # License file
โโโ next-env.d.ts # Next.js TypeScript declarations
โโโ next.config.js # Next.js configuration
โโโ package-lock.json # Package lock file
โโโ package.json # Project dependencies
โโโ postcss.config.js # PostCSS configuration
โโโ README.md # Project documentation
```---
## โ๏ธ Installation & Setup
Ikuti langkah-langkah berikut untuk menginstall dan menjalankan SNBTIn secara lokal:### Prerequisites
- [Node.js](https://nodejs.org/en/) (v14.0.0 or higher)
- [npm](https://www.npmjs.com/) (v6.0.0 or higher)
- [Git](https://git-scm.com/)### Installation
1. Clone repository
```bash
git clone https://github.com/yourusername/SNBTIn.git
```2. Pindah ke direktori project
```bash
cd SNBTIn
```3. Install dependencies
```bash
npm install
```4. Run development server
```bash
npm run dev
```5. Buka [http://localhost:3000](http://localhost:3000) di browser Anda
---
## ๐ง Development
### Scripts yang Tersedia
- `npm run dev` - Menjalankan development server
- `npm run build` - Membangun aplikasi untuk production
- `npm start` - Menjalankan aplikasi yang sudah di-build
- `npm run lint` - Menjalankan ESLint untuk memeriksa kode
- `npm run format` - Memformat kode dengan Prettier (inferred)
- `npm run test` - Menjalankan unit tests (inferred)### Kode Struktur dan Konvensi
- **Components**: Komponen React di-organize berdasarkan fitur/halaman
- **Pages**: Mengikuti routing Next.js berbasis file
- **Hooks**: Custom hooks untuk logic yang dapat digunakan kembali
- **Styling**: CSS Modules untuk styling komponen---
## ๐ฑ Pages Overview
| Page | Deskripsi | Path |
|------|-----------|------|
| **Homepage** | Landing page utama dengan hero section, fitur, dan testimonial. | `/` |
| **Kelas Online** | Halaman untuk menjelajahi kelas SNBT yang tersedia. | `/kelas-online` |
| **Materi** | Halaman untuk mengakses berbagai materi pembelajaran SNBT. | `/materi` |
| **Forum Diskusi** | Platform diskusi interaktif untuk siswa dan pengajar. | `/forum-diskusi` |
| **Profil Tim** | Informasi tentang tim pengembang SNBTIn. | `/profil` |
| **Login** | Halaman untuk login ke platform. | `/login` |
| **Profil Saya** | Halaman profil pengguna setelah login. | `/profil-saya` |---
## ๐งฉ Components
SNBTIn dibangun dengan struktur komponen modular untuk memudahkan pengembangan dan maintenance.### Components Features
Home Components
- **HeroSection.tsx**: Section utama di halaman beranda dengan headline, subheadline, dan CTA
- **FeaturesSection.tsx**: Section yang menampilkan fitur-fitur utama platform
- **FeatureCard.tsx**: Card untuk menampilkan fitur individual dengan icon dan deskripsi
- **TestimonialsSection.tsx**: Section yang menampilkan testimoni dari siswa
- **TestimonialCard.tsx**: Card untuk menampilkan testimoni individual dengan foto dan quote
- **CTASection.tsx**: Call-to-Action section untuk mengajak pengguna mendaftarLayout Components
- **Layout.tsx**: Wrapper component untuk layout keseluruhan
- **Navbar.tsx**: Navigation bar responsif dengan logo dan menu links
- **Footer.tsx**: Footer section dengan links, kontak, dan copyright
- **DarkModeToggle.tsx**: Toggle switch untuk beralih antara mode terang dan gelapProfile Components
- **TeamSection.tsx**: Section yang menampilkan anggota tim pengembang
- **TeamMemberCard.tsx**: Card untuk menampilkan profil anggota tim dengan foto dan informasi---
## ๐จ UI Components
Komponen UI yang dapat digunakan kembali di seluruh aplikasi.UI Building Blocks
- **Button.tsx**: Komponen button dengan variasi style dan ukuran
- **Card.tsx**: Container card universal untuk berbagai konten
- **Alert.tsx**: Komponen notifikasi untuk info, warning, dan error messages
- **Badge.tsx**: Label kecil untuk status, kategori, atau tag
- **Modal.tsx**: Dialog popup untuk konfirmasi atau form input---
## ๐ช Custom Hooks
Custom hooks untuk logic yang digunakan kembali di komponen-komponen berbeda.Available Hooks
- **useLocalStorage.js**: Hook untuk menyimpan dan mengambil data dari localStorage
- **useMediaQuery.js**: Hook untuk responsive design dan media queries
- **useScrollAnimation.js**: Hook untuk animasi berbasis scroll---
## ๐ Effects & Animations
Komponen visual effects untuk meningkatkan UX dan estetika platform.Effects Components
- **AnimatedWaveBackground.tsx**: Latar belakang dengan animasi gelombang
- **DynamicHeroBackground.tsx**: Background yang dinamis untuk hero section
- **FloatingElements.tsx**: Elemen-elemen yang bergerak mengambang
- **ParallaxHero.tsx**: Efek parallax untuk hero section
- **ParticlesBackground.tsx**: Latar belakang dengan efek partikel
- **ThreeDModel.tsx**: Integrasi model 3D dengan Three.js---
## ๐ Platform Statistics
Beberapa data tentang platform SNBTIn:| Metrik | Nilai |
|--------|-------|
| Siswa Aktif | 10,000+ |
| Tingkat Kelulusan | 85% |
| Kemiripan SNBT | 98% |
| Soal Latihan | 10,000+ |
| Rating | 4.8/5 |
| Mata Pelajaran | 12+ |
| Pengajar Berpengalaman | 50+ |---
## ๐ API References
Dokumentasi API untuk interaksi dengan backend (inferred).API Endpoints
- **GET /api/hello**: Endpoint test sederhana
- **GET /api/materi**: Mendapatkan daftar materi pembelajaran
- **GET /api/kelas**: Mendapatkan daftar kelas online
- **GET /api/forum**: Mendapatkan daftar topik diskusi
- **GET /api/user/profile**: Mendapatkan data profil pengguna
- **POST /api/auth/login**: Endpoint untuk login
- **POST /api/auth/register**: Endpoint untuk registrasi---
## ๐งช Testing
Strategi dan tools untuk testing aplikasi (inferred).Testing Strategy
- **Unit Testing**: Testing komponen individual
- **Integration Testing**: Testing interaksi antar komponen
- **E2E Testing**: Testing pengalaman pengguna secara keseluruhan---
## ๐ Environment Variables
Konfigurasi environment yang dibutuhkan untuk menjalankan aplikasi (inferred).Required Environment Variables
```
# API
NEXT_PUBLIC_API_URL=# Authentication
NEXTAUTH_URL=
NEXTAUTH_SECRET=# Database
DATABASE_URL=# Features Flags
NEXT_PUBLIC_ENABLE_ANALYTICS=
```---
## ๐ข Deployment
Panduan untuk deployment aplikasi (inferred).Deployment Options
- **Vercel**: Deployment terintegrasi dengan GitHub
- **Netlify**: Alternatif deployment dengan continuous integration
- **Self-hosted**: Deployment manual dengan Node.js server---
## ๐ฅ Team
Tim pengembang SNBTIn yang berdedikasi:
Syahril Arfian Almazril
Front End & UI/UX
Maulana Cahya Magista
Front End & UI/UX
Stephani Maria Sianturi
Front End & UI/UX
Rafiy Fasha Purnomo Putra
Front End & UI/UX
---
## ๐ Contact
๐ง **Email**: [email protected]
๐ **Telepon**: +62 812-3456-789
๐ **Alamat**: Jl. Bandung bubat no 28[](https://instagram.com/snbtin)
[](https://youtube.com/snbtin)
[](https://twitter.com/snbtin)
[](https://facebook.com/snbtin)---
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
ยฉ 2025 SNBT Prep. Hak Cipta Dilindungi.