Campus Hive is a JavaFX-based application designed to foster an interactive community for instructors, students, and admins enrolled in the CSE 360 course. It offers a platform for users to create posts, ask questions, and engage in discussions about course content, including GitHub, Java, JavaFX, Eclipse, and more. The application promotes collaborative learning and problem-solving within the course framework.
- Instructors, students, and admins can create posts on topics ranging from course-related challenges to technical issues.
- Users can post questions about course-related difficulties, whether it's about coding issues, development tools, or project setup.
- Replies from peers and instructors help foster community-based learning.
- Instructors: Post announcements, provide guidance, and moderate discussions.
- Students: Ask questions, contribute to discussions, and receive feedback from both peers and instructors.
- Admins: Manage user accounts, moderate content, and oversee platform usage.
- GitHub: Version control, repository management, and collaboration.
- Java: Programming concepts, debugging, and best practices.
- JavaFX: GUI development and implementation strategies.
- Eclipse: IDE setup, configuration, and troubleshooting.
- Posts are visible to the entire community, encouraging collaborative problem-solving.
- Users can reply to questions, provide solutions, or offer guidance.
To run Campus Hive, ensure you have the following installed:
-
Java Development Kit (JDK) 21.0.4
- Make sure that the Java version used is JDK 21.0.4 or later. You can download it from Oracle's official website.
-
JavaFX SDK 21.0.4
- Download and configure the JavaFX SDK from OpenJFX. You will need to include JavaFX libraries in your project setup.
-
IDE Setup (Eclipse or IntelliJ)
- The project can be cloned and opened in any modern Java IDE like Eclipse or IntelliJ IDEA.
- Ensure the IDE is configured with the JavaFX libraries. See detailed setup instructions below.
-
H2 Database
- The application uses an H2 database to store user data. Ensure you have the H2 database driver included in your project setup.
-
Git (Optional)
- Git is optional but recommended for managing your project repository.
Below are the libraries required to run Campus Hive:
-
JavaFX 21.0.4:
javafx.base.jarjavafx.controls.jarjavafx.fxml.jarjavafx.graphics.jarjavafx.media.jarjavafx.swing.jarjavafx.web.jarjavafx-swt.jar
-
H2 Database Engine:
h2-2.2.232.jar
-
Java Activation Framework (javax.activation):
javax.activation.jar
-
JavaMail API:
javax.mail.jar
To get a local copy of the project, clone it using Git:
git clone https://github.com/Abhinav-ranish/Campus-Hive.gitAlternatively, you can download the ZIP file from the GitHub repository and extract it.
Once you've cloned the project:
- Download the JavaFX SDK from OpenJFX.
- Add the JavaFX SDK library files to your project. For example, in Eclipse:
- Right-click the project > Build Path > Add Libraries > JavaFX SDK.
- Ensure you add the required JavaFX modules to your VM arguments:
--module-path /path-to-javafx-sdk/lib --add-modules=javafx.controls,javafx.fxmlThe Campus Hive project uses H2 for data persistence:
- Ensure the H2 database driver is included in the project's classpath.
- The driver is already included in the project as
h2-2.2.232.jar.
- After setting up the JavaFX SDK and H2 database, navigate to the main application file in the src/application directory.
- Run the application from your IDE.
├── bin/
├── data/
├── images/
├── lib/
├── resources/
├── src/
├── README.md
├── build.fxbuild
To perform automated testing using JUnit with the test files located in your src folder, follow these instructions based on your development environment:
-
Set Up JUnit:
- Ensure JUnit is included in your project. You can add it by right-clicking on your project, selecting "Build Path" > "Add Libraries," and then choosing "JUnit."
-
Run Tests:
- Navigate to the
srcfolder where your test files are located. - Right-click on the test file or the entire test package.
- Select "Run As" > "JUnit Test" to execute the tests.
- Navigate to the
-
Set Up JUnit:
- IntelliJ IDEA typically includes JUnit by default. If not, you can add it via "File" > "Project Structure" > "Libraries."
-
Run Tests:
- Open the
srcfolder and locate your test files. - Right-click on a test file or directory containing tests.
- Choose "Run 'TestName'" to execute the tests.
- Open the
-
Set Up JUnit:
- Ensure JUnit is added to your project's dependencies. This might involve configuring a build tool like Maven or Gradle.
-
Run Tests:
- Use the IDE's specific feature to run JUnit tests, often found under a "Run" menu.
- Alternatively, use command line tools:
- For Maven: Run
mvn test. - For Gradle: Run
gradle test.
- For Maven: Run
By following these steps, you can easily automate the testing of CampusHive using JUnit across different development environments.
Campus Hive uses the following third-party libraries and software:
- JavaFX SDK for creating the graphical user interface (GUI).
- H2 Database Engine for managing and accessing the embedded H2 database.
- JavaMail API for handling email functionalities.
- Java Activation Framework for handling MIME data types in Java applications.
Additionally, Campus Hive includes a custom in-house encryption system developed by the project team for enhanced data security.
Campus Hive © 2024. All rights reserved.
This project is licensed under proprietary rights by the original developers. You may use the application for personal or educational purposes, but commercial use is prohibited without explicit permission from the authors.
The project uses the following third-party libraries and frameworks:
- JavaFX SDK: Licensed under the GNU General Public License (GPL), version 2, with the Classpath Exception.
- H2 Database Engine: Licensed under the Mozilla Public License 2.0 or the Eclipse Public License 1.0.
- JavaMail API: Distributed under the GPL v2 + CPE.
- Java Activation Framework: Licensed under the Common Development and Distribution License (CDDL).
Please consult the respective licenses for each library for more information. Use of these libraries is subject to their respective terms and conditions.
Unauthorized use, reproduction, or distribution of this software, in part or whole, is strictly prohibited. For commercial inquiries or further licensing options, please contact the original developers.
All product names, logos, and brands are the property of their respective owners.
