Welcome to the OOP Thread Discussion repository! This repository contains various labs and projects focused on Object-Oriented Programming (OOP) concepts in JAVA. Each lab is designed to help you understand and apply different OOP principles through practical examples and exercises. Let's dive in and explore what this repository has to offer!
-
lab2/: In this lab, you'll create a simple Discussion Board application. It includes user and post management functionalities, allowing for basic interactions like creating and viewing posts. Check out the Readme.md for more details. Spoiler alert: It's more fun than a real discussion board! This lab will introduce you to collections, file I/O, and basic UI design concepts.
-
lab4/: This lab focuses on more complex OOP concepts and design patterns, such as factory methods, observer patterns, and dependency injection. You'll also tackle exception handling and unit testing to ensure that your code works as expected. Get ready to flex those brain muscles and write some elegant, maintainable code. It's like a workout, but for your brain!
-
lab5/: The grand finale! This lab introduces a Graphical User Interface (GUI) for the discussion board application. You'll integrate your previous code into a fully interactive interface, using tools like JavaFX or Swing to bring your project to life. Check out the GUI and marvel at your creation. It's like the cherry on top of your coding sundae!
-
Clone the repository:
git clone https://github.com/yourusername/OOP_thread_discussion.git
-
Navigate to the desired lab folder:
cd OOP_thread_discussion/labX -
Follow the instructions in the respective
Readme.mdfiles within each lab folder to compile and run the programs. Each lab has its own set of instructions tailored to the specific tasks you'll be working on. -
For lab5 (GUI-based project), make sure you have the necessary JavaFX or Swing libraries installed, as well as a suitable IDE for building GUI applications.
Before getting started, make sure you have the following installed:
- Java Development Kit (JDK) version 8 or higher.
- A preferred IDE, such as IntelliJ IDEA, Eclipse, or NetBeans, with Java support.
- For lab5, ensure you have JavaFX set up if you're working with JavaFX for the GUI.
- Each lab folder contains a PDF with detailed instructions and explanations. Make sure to read them to get the most out of each lab. The PDFs also provide additional insights into the theoretical concepts of OOP.
- Remember, lab 5 is where the magic happens with the GUI. Don't miss it, as it will help solidify your understanding of both OOP and UI design!
Feel free to contribute by submitting issues or pull requests. If you have suggestions for improvements, new labs, or additional features, don’t hesitate to open an issue. Collaboration is encouraged!
- Name: Daman Kumar
- University: University of Guelph, Software Engineering Program, CIS2430.
This repository is for educational purposes only. Any resemblance to real discussion boards, living or dead, is purely coincidental. No users or posts were harmed in the making of this repository. Use it responsibly and have fun coding!
Happy coding, and may the OOP be with you!