Corevent Desktop adalah aplikasi manajemen acara kampus yang terintegrasi, dirancang untuk menyederhanakan seluruh siklus hidup pengelolaan acara dari persiapan hingga pasca-acara. Aplikasi ini dibangun menggunakan Java dengan framework Spring Boot dan JavaFX untuk antarmuka desktop yang modern dan responsif.
- Java 17 - Bahasa pemrograman utama
- Spring Boot 3.2 - Framework aplikasi dan dependency injection
- JavaFX 21 - Framework UI untuk aplikasi desktop
- Hibernate/JPA - Object-Relational Mapping
- H2 - Development database (file-based)
- PostgreSQL - Production database dengan sinkronisasi server
- Retrofit2 - REST API client
- ZXing - QR Code generation dan scanning
- Apache PDFBox - PDF generation untuk sertifikat
- BCrypt - Password encryption
- JWT - Token-based authentication
- Flyway - Database migration tool
corevent-desktop/
βββ src/main/java/com/corevent/
β βββ entity/ # Domain entities (Event, Participant, Ticket, dll)
β βββ controller/ # Business logic controllers
β βββ boundary/ # JavaFX UI controllers
β βββ repository/ # Data access layer
β βββ service/ # Service layer
β βββ api/ # REST API clients
β βββ security/ # Security utilities
β βββ config/ # Configuration classes
β βββ util/ # Utility classes
βββ src/main/resources/
β βββ fxml/ # FXML view files
β βββ css/ # Styling files
β βββ images/ # Icons & images
β βββ db/migration/ # Database migration scripts
β βββ application.properties
βββ src/test/ # Unit & integration tests
- Java JDK 17 atau lebih tinggi
- Maven 3.8+
- PostgreSQL (untuk production)
- Clone repository
git clone https://github.com/billysams21/IF2050-2025-K1L-Corevent.git
cd Corevent- Install dependencies
mvn clean install- Run application (development mode)
mvn spring-boot:runatau
mvn javafx:run- Start the application
- Open browser and navigate to:
http://localhost:8888/h2-console - Use these credentials:
- JDBC URL:
jdbc:h2:file:./corevent_db - Username:
sa - Password:
password
- JDBC URL:
- Build executable JAR
mvn clean package -Pproduction- Run JAR file
java -jar target/corevent-desktop-1.0.0-SNAPSHOT.jar- β Login dengan role Panitia dan Peserta
- β Offline authentication support
- β Session management
- β Remember me functionality
-
β Event Management (UC01, UC07)
- Create new events
- Update event schedule
- Manage event details
-
β Participant Management (UC08)
- View participant list
- Export participant data (CSV, Excel, PDF)
- Real-time synchronization
-
β Event Check-in (UC04)
- QR code scanning
- Offline validation
- Attendance tracking
-
β Evaluation Results (UC05)
- View evaluation statistics
- Export reports
- Data visualization
- BCrypt password hashing
- AES-256 encryption untuk data sensitif
- JWT token-based authentication
- Offline mode dengan cached credentials
Aplikasi desktop berkomunikasi dengan backend server melalui REST API:
- Base URL:
https://belum.ada - Authentication: Bearer token (JWT)
- Automatic retry dengan exponential backoff
- Offline mode fallback
GET /api/events- Get all eventsGET /api/events/{id}- Get event by IDPOST /api/events- Create new eventPUT /api/events/{id}- Update eventDELETE /api/events/{id}- Delete event
GET /api/events/{id}/participants- Get event participantsPOST /api/events/{id}/participants- Add participantDELETE /api/events/{id}/participants/{participantId}- Remove participant
POST /api/events/{id}/check-in- Check-in participantGET /api/events/{id}/attendance- Get attendance list
- Event - Informasi acara
- Participant - Data peserta
- Ticket - Tiket dengan QR code
- Payment - Transaksi pembayaran
- Attendance - Kehadiran peserta
- Evaluation - Evaluasi acara
- Question/Answer - Q&A forum
Run unit tests:
mvn testRun integration tests:
mvn verify# Profile: development atau production
spring.profiles.active=development
# Database
spring.datasource.url=jdbc:h2:file:./corevent_db
spring.jpa.hibernate.ddl-auto=validate
# API Configuration
api.base-url=
api.timeout=30
# Offline sync
offline.sync-interval=300000-
Database Connection Issues
- Check if H2 database files exist
- Verify database credentials
- Check if port 8888 is available
-
Application Won't Start
- Check Java version (must be 17+)
- Verify all dependencies are installed
- Check logs in
logs/corevent.log
-
UI Issues
- Clear JavaFX cache
- Check if JavaFX modules are properly loaded
- Verify FXML files are in correct location
- Application logs are stored in
logs/corevent.log - Log level can be configured in
application.properties - Use
logging.level.com.corevent=DEBUGfor detailed logs
This project is proprietary software. All rights reserved.
π₯ Team
- Project Owner: Livia Arumsari
- Lead Developer: Billy Samuel Setiawan (18222039)
- UI/UX Designer: Dzulfaqor Ali Dipanegara (18222017)
- Backend Developer: Benedicta Eryka Santosa (18222031)
- Frontend Developer (JavaFX): Kezia Caren Cahyadi (18222041)
- Database & API Integration Developer: Ananda Farhan Raihandra (18222084)
- QA Engineer & DevOps: Dahayu Ramaniya Aurasindu (18222099)