For Students: Download the app from salmanmalvasi.github.io/studentcc-landing.html
This repository contains the source code for StudentCC Android app. This documentation is for developers and contributors.
- Language: Java (Android)
- Web Scraping: Android WebView + JavaScript + jQuery
- HTTP Client: OkHttp + Retrofit
- Database: Room (SQLite)
- Architecture: MVVM with Services
- Build System: Gradle
- Android Studio Arctic Fox or newer
- JDK 11+
- Android SDK API 24+
- Git
-
Clone & Setup
git clone https://github.com/Salmanmalvasi/StudentCC.git cd StudentCC cp .env.example .env # Edit .env with your Firebase configuration
-
Generate Configuration
./generate-config.sh
-
Build
./gradlew assembleRelease
IMPORTANT: This repository uses environment variables for security.
- Copy
.env.exampleto.env - Add your Firebase configuration to
.env - Run
./generate-config.shbefore building - See SECURITY.md for complete setup
- Attendance Tracking: Day-by-day attendance view
- Marks Management: Class averages & performance trends
- OD Calculator: Track On Duty usage
- Timetable: Class schedules
- Firebase Integration: Analytics, Crashlytics, In-App Messaging
- Auto-Sync: Background data updates
├── activities/ # UI Activities
├── fragments/ # UI Fragments
├── services/ # Background Services (VTOPService)
├── helpers/ # Utility Classes
├── models/ # Data Models
├── interfaces/ # Room DAOs
└── workers/ # Background Workers
The app uses a sophisticated scraping system:
- WebView: Handles authentication & CAPTCHA
- JavaScript Injection: Extracts data from DOM
- HTTP Fallback: Direct API calls where possible
- Session Management: Maintains login state
Attribution: Detailed attendance parsing logic adapted from Arya4930/UniCC
- VTOPService: Primary data sync service
- AutoSyncWorker: Periodic background updates
- WorkManager: Handles network constraints
- Debug: Development builds with logging
- Release: Optimized builds with ProGuard
- Signing: Uses
studentcc.keystorefor release
- Fork the repository
- Create feature branch
- Follow code style guidelines
- Test thoroughly
- Submit pull request
- Firebase Analytics: User behavior tracking
- Crashlytics: Crash reporting
- In-App Messaging: Feature announcements
See LICENSE file for details.
- App Download: StudentCC Landing Page
- Security Guide: SECURITY.md
- Build Guide: GitHub Actions
Developer Repository - For app downloads, visit the landing page above.