Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jpcurada/iskonnect
Team 1 - ALPHA B1T Project for COMP 20083
https://github.com/jpcurada/iskonnect
java javafx maven oop supabase
Last synced: 4 days ago
JSON representation
Team 1 - ALPHA B1T Project for COMP 20083
- Host: GitHub
- URL: https://github.com/jpcurada/iskonnect
- Owner: JpCurada
- License: mit
- Created: 2025-01-05T14:08:33.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-02-02T12:19:11.000Z (4 days ago)
- Last Synced: 2025-02-02T13:25:07.017Z (4 days ago)
- Topics: java, javafx, maven, oop, supabase
- Language: Java
- Homepage:
- Size: 68.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ISKOnnect
*Reviewers by the ISKOlars, for the ISKOlars*
[![Java](https://img.shields.io/badge/Java-23-red.svg)](https://www.oracle.com/java/)
[![JavaFX](https://img.shields.io/badge/JavaFX-23.0.1-orange.svg)](https://openjfx.io/)
[![Maven](https://img.shields.io/badge/Maven-3.9.9-blue.svg)](https://maven.apache.org/)
[![Supabase](https://img.shields.io/badge/Supabase-Latest-green.svg)](https://supabase.io/)*Mula sa'yo, para sa bayan*
## Our Logo
The design behind our ISKOnnect logo tells its own story:
The "i" in the Middle — It's more than just a letter. Shaped like a pencil, it stands for the tools that every Iskolar uses to write, create, and learn. Simple but meaningful, just like the students who use them.
The Book/Files in the Background — Look around the "i" and you'll see books or files coming together. This shows what ISKOnnect is about — students sharing what they know, helping each other out with resources they've made themselves.
The Owl — Up at the top sits an owl, known everywhere as a symbol of wisdom. But for us PUPians, it means something more. Those tired but determined eyes? They're for every Iskolar pulling all-nighters, proving that real learning doesn't stop when the sun sets. It's a friendly nod to everyone who's ever said "one more chapter" at 3 AM.
## About ISKOnnect
ISKOnnect is a desktop application made for PUP students to help each other excel in their studies. Think of it as a digital library made by students, for students — where everyone can share reviewers, notes, and practice tests.
To make studying more fun and rewarding, we've added badges and titles that students can earn by sharing good study materials. When you start sharing, you're a "Fresh Contributor." Share more helpful reviewers and you could become a "Junior Mentor" or even reach the "PUP Hall of Famer" status.
The best part is how easy it is to find what you need. Everything is listed by college and course, so Engineering students can find Math reviewers right away, while Communication students can get writing guides quickly. Plus, students can upvote materials they find helpful, so you know which ones work best.
## System Flow
![low-level-diagram](https://uml.planttext.com/plantuml/png/ZLVRRkCs47qtu7zWioyji8ks2_J5G8BrBTbWdKljPD420GfQ6bk49L8bANkpHV-zCoHbNImhZG53rXpEzN1cyibOhcsHfUnszUL1IeWiUzGg0cFOTQeEmy5my4CC6o61pSRBBtzDRjYxZnFwj0HFyp-UsBlvB_HfYHQtz_DJqNWwdTzt75dDfm_tUExFIZGSc9sGETSyOsiUxRPQ5JAUgbJfqgiw11Nn8hNNIjeQXXmyWrg9xy1-_TWqPE3l0cG4x9_XWE7VM6jrED5tb7HQ8-b2R621WKsKZa7N89IM5kHSR0JotuzOBX69d4jRL-YJUGhfKrZ3dNK-11XPfS-Pyy8-GmxnXeaRF9ptfCZ9p-fmqi_0yNI5gJlfloVgMuy9bBxXv4pi1PxkqL4Y-j8HC7sEBc43ciZNOwh2z1axeju8xLxPFcDEt6U709qc_ctUgXctVCtDUMKTq0xY3GUSICLMjeX1slBdECw470xoYjdiOg6sGhx8AJgdLPg2lc3SCFUsXGpANkHN0OSMVaNlMlWxRa4Bdhx85UYzYC0XxyAF5dZ2uoqqaUvL2_OLyzX4qPiMQ0cvqhO9y-zQG9UFpdZ67V4y6z0hxFn2IH-pVnuEub09Tl6eZDrgMFs-S8ZPf9t28dT8z0thmRVUj_1CPRkyPEF29fXc4N6Bse_Zvl9oE0WLO1-kV856R2unnopIGEynrsOuS1A2p2QZkZ9W1GOm74XC6DDYczWHmv0C-onsN8lf8ziWHIBbfXnPpfLAXTmE1xC9-r2PN88jj7JA64LUinWoCc9J3QL171GXJK7gW9JU4RkLWfocyM92Q7kNToTtHaF88xPAr84bAaCeXWioPAia6NlEKyNZS-aA1WCeAmzXnDdHsjMHcoFscSiunG0SVZWe1KwLhzR8FG3R2CHXL6LfoQm3EFShZI5j3lwyN3HrKgbMV0-LPp5OBgYS8VcL8cJgHcWSm8XlQd4N1W49H3l6eqJ07Z9C06fnejBISnvJTN8bKCP-_2qy_UoZ_Sbr2x4dIBY2hltNDNWJQ_VA9XfCejBOU21FSKVogfzA4Ri3wwKDLQ4ghhHU6P9JR0BrgmCTT9W9awVybKa8HpqQ95OhXdO0JQgC8qUHVgeuasKv3Djg4TUOGacu1Xib5UHOgg0W5FnOqOXhIb7DKfqSk4mPos9ra3sCkm5RwNCagdEjoatGmjpsQaBus2ZnDhFLgx6GjOEcBefbJGMMjSZthgVIksR1uPimJWa1ge3zuH0lYSYmBH10NBXNc6dO2rMKpPeALLU-X0XdsD6kMm8cpGG5oZhb4Ox5mAQpxFTKnkwZuU3p3Yasw2La2czPjnipIA6qePrB_ziNHpkNPJzda6iIoqANhvrf3q3I5-jCM3Javr8uL-y5NjJi15T-CXsTy1Z3S02b698RQ3NK4gYVbYYKd_AtROLA5Z9HNfYmffvsoP3Eh87hP6xGIDtl55NhIJxlPRdmacV2LCExuGQTkkDwLqQ0hKQbUuZhrV3vc76Jh1NImDMYdQE772GEiW3fp17HcPWVLPmVDoyvMEsazU7wf2nUKvg1vdtL9jwVgGRTRJzJqP8MwyAtm4vpKKBtEapVTZoUUjxkMHkjwT9Kxo0fkX6oI8jFETjxc1twdcyYgTggmjOwvd4tcCkuSoS8wyKq1TwzqTHRNF3KAZA4mcedS1L0LkfghM9-poadD3i8c-1yTCr_1wy4eDN7G5IK0zsKPv5BD9IWgPeMEyPkippr0xPpRMBUK6EzWWrEDu7_SBmsLN_27qMM_WS0)## How ISKOnnect Works
ISKOnnect showcases inheritance through several layers — but let us break down the most important ones.
First, let's look at our `User` class. Instead of creating separate user types from scratch, we built a foundation that all users share:
```java
// Path: src/main/java/com/iskonnect/models/User.java
public abstract class User {
private String strUserId;
private String strFirstName;
private String strLastName;
private String strEmail;
private String strUserType; // STUDENT or ADMINpublic String getFullName() {
return strFirstName + " " + strLastName;
}
}
```Both students and admins need these basic details, so they inherit from this base class. It's like having a template — why write the same code twice? For example, the `Student` class adds points and badges on top of these basics, while `Admin` gets special moderation powers.
Next up is our view structure. Take a look at how both student and admin interfaces share a common layout in `base.fxml`:
```xml
```
Both student and admin views inherit this layout, but each adds its own special elements — students see their materials grid and upload options, while admins get their moderation tools. It's like having a house blueprint where you can add different furniture based on who lives there!
This approach really shows the DRY (Don't Repeat Yourself) principle in action. Instead of copy-pasting the same navigation code or user properties everywhere, we write it once and let inheritance do the heavy lifting. For instance, when we need to add a new feature to all users, we just update the parent `User` class, and both students and admins automatically get the update — pretty neat, right?
Look at the login controller — it checks the user type and sets the appropriate root:
```java
// Path: src/main/java/com/iskonnect/controllers/LoginController.java
public void handleLogin() {
if (user.getUserType().equals("ADMIN")) {
Main.setAdminRoot();
} else {
Main.setMainRoot(); // For students
}
}
```Each type gets its own specialized view, but the underlying logic stays the same. It's like having a single front door that leads to different rooms based on who's walking in!
This inheritance setup makes our code cleaner and easier to maintain. When we want to add new features or fix bugs, we know exactly where to look — no more hunting through duplicate code or wondering which copy to update. It's all organized and connected through inheritance, just like a well-planned family tree!
## How to Use ISKOnnect
### Para sa mga Iskolar
1. Create an account using your student number
2. Look for materials in your college or course
3. Download materials you need
4. Share your own reviewers and earn rewards
5. Upvote and bookmark materials that helped you### Para sa mga Admin
1. Check reported materials
2. Keep track of users
3. Look at how students use the app
4. Remove reported materials or ban users## Demo
### Student View
### Contribute Reviewers
### Download Materials
### Bookmark Contents
### Report Irrelevant Materials
### Admin View
## The Team Behind ISKOnnect
### Team ALPHA B1T
- CURADA, John Paul M.(Project & Backend Lead)
- ZARAGOZA, Marie Criz (Front-End Lead)
- LUCERO, Ken Audie S. (Backend Developer)
- FAELDONIA, Elias Von Isaac R. (Front-End Java Programmer)
- OJA, Ma. Izabelle L. (Front-End Java Programmer)
- GENTE, Daisyrie I. (Designer)
- RACELIS, Michael Richmond V. (Designer)## Setting Up ISKOnnect
1. **Check if you have these installed**
```bash
# For Java
java --version # Should be 23
# For Maven
mvn --version # Should be 3.9.9
```2. **Get the code running**
```bash
# Get the files
git clone https://github.com/JpCurada/iskonnect.git
cd iskonnect
# Set things up
mvn clean install
```3. **Start the app**
```bash
mvn javafx:run
```> Contact us if you need our keys for database and storage (pa-ready gcash ^^)
## Special Thanks
- Polytechnic University of the Philippines
- PUP College of Computer and Information Sciences
- COMP 20083 Course
- Master Chris Piamonte (#CPP)---
Gawa ng mga Iskolar, para sa kapuwa Iskolar ng Bayan!