Skip to content

This app is designed to help roomates efficiently manage and share household tasks in a shared living space. Let's make communal living stress-free!

Notifications You must be signed in to change notification settings

ludvigovrevik/Kollapp

Repository files navigation

Kollapp.mp4

🏠 KollApp: Manage Shared Living Efficiently 💻

Welcome to KollApp, a Java application developed as part of the course IT1901 - Informatikk Prosjektarbeid I. This app is designed to help roomates efficiently manage and share household tasks in a shared living space. Let's make communal living stress-free!


🚀 Quick Start with Eclipse Che

For an example use of KollApp, check out these accounts:

Username Password
kien 12341234
thomas 12341234
sang 12341234
ludvig 12341234

Feel free to register a new account if you'd like to explore on your own!

Open this project in Eclipse Che


🎯 Purpose

KollApp aims to help roommates coordinate and manage household tasks, such as cleaning, dishwashing, grocery shopping, and other shared responsibilities. It enhances communication and ensures that tasks are fairly distributed and completed on time.

📖 For a detailed description of the purpose and intended functionality, visit Purpose and Functionality 📖 To view examples of use cases for KollApp, visit Gallery. Highly Recommended!


🔑 Key Feautures

  • 📋 Task Assignment: Easily assign tasks to roomates.
  • 🛒 Shared Purchases: Track shared expenses for household items.
  • 📅 Event Planning: Plan group events and share them with your roomates.
  • 🕒 Task Deadlines: Add, modify, and manage task deadlines.
  • 🔐 Secure Login: Ensure that only authorized users can access the application.
  • 👥 Group Management: Create and search for groups to manage tasks and activities within specific sets of roommates.

📖 For a detailed description of user stories, visit User Stories


🗂️ Project Architecture

The KollApp project is organized into several modules, each with a specific responsibility. Below is an overview of the project's structure:

1. Core Module 📂 gr2409/kollapp/core
Contains the core logic of the application.

2. UI Module 📂 gr2409/kollapp/ui
Contains the user interface components of the application.

3. Persistence Module 📂 gr2409/kollapp/persistence
Manages the storage of data.

4. API Module 📂 gr2409/kollapp/api
Handles the communication between the client and the server of the application.

📖 For an in-depth look at the modules and their dependencies, visit Module Structure and Dependencies

📖 For an in-depth look at the project's architecture and its components, including a visual representation of module interactions, visit the Project Architecture Diagram


⚙️ System Requirements

To build and run KollApp, make sure you have the following installed:

System Requirement
Java version: 17 Download
Maven version: 3.9.9 Download

📦 Dependencies

The KollApp application relies on a set of essential dependencies for its functionality:

  • JavaFX (version 17.0.12): Provides the graphical user interface. For additional JavaFX modules, visit Gluon’s JavaFX page for downloads.
  • JUnit 5 (version 5.10.0): Used for unit testing across all modules to ensure code quality and reliability.
  • Mockito (version 5.0.0): Facilitates mock testing, helping to simulate dependencies in test environments.
  • TestFX (version 4.0.16-alpha): Specifically for testing JavaFX applications to maintain a consistent user experience.
  • Jackson (version 2.18.0-rc1): Manages JSON data processing, essential for data storage and retrieval in JSON format.
  • Spring Boot (version 2.7.3): Powers the backend REST services, allowing client-server communication.
  • Maven (version 3.9.9): Manages project dependencies, builds, and plugin integrations.

These dependencies provide a stable foundation for development, ensuring both functionality and maintainability. For a complete list and version details, refer to the pom.xml file.

📖 For an in-depth look at the modules and their dependencies, visit Module Structure and Dependencies


🚀 How to Run the Application

❗️ From the gr2409 folder, enter the following script on the terminal:

./start_app.sh

Alternatively, to build and launch KollApp without script, follow these steps:

1. Navigating to Project Directory 🛠️ Before running the commands, navigate to the kollapp directory:

cd kollapp

2. Build the Project and Install Dependencies 📦 To clean the project and install all required dependencies, run:

mvn clean install

3. Run Springboot 🌱

To start the backend services of KollApp, you need to run the Spring Boot application. This will initialize the REST API and other backend functionalities.

cd api
mvn spring-boot:run

4. Run the Application ▶️ After running Springboot, launch kollapp with the following command:

cd ..
cd ui
mvn javafx:run

📖 For a detailed guide on how to create a shippable product, visit Creating a Shippable Product


🧪 Testing and Code Quality

Maintaining a high standard of code reliability and performance is essential to the KollApp project. To achieve this, we utilize a range of comprehensive testing and code analysis tools that ensure the robustness of our codebase.

📖 For a detailed guide on how to run tests and use tools like JaCoCo, SpotBugs and Checkstyle, see Testing and Code Quality


📚 Suggested Reading

  • 📖 User Stories Overview: Understand the core user stories that guide development across releases. Highly Recommended!
  • 📖 Purpose and Functionality: For a detailed description of the purpose and intended functionality of KollApp.
  • 📖 Gallery: See examples of use cases for KollApp (RELEASE 3). Highly Recommended!
Release 1 Release 2 Release 3
📖 Release 1 Updates 📖 Release 2 Updates 📖 Release 3 Updates
📖 AI Tools Guide 📖 Development Practices & Code Quality 📖 Development Practices & Code Quality
📖 Gallery 📖 Gallery 📖 Gallery
📖 Testing & Code Quality Standards 📖 Testing & Code Quality Standards
📖 Project Architecture Diagrams 📖 Project Architecture Diagrams
📖 JSON Save Format Specifications 📖 JSON Save Format Specifications
📖 Module Structure & Dependencies 📖 Module Structure & Dependencies
📖 AI Usage Declaration 📖 AI Usage Declaration
📖 Contribution Guidelines
📖 Sustainability Reflection on KollApp
📖 Creating a Shippable Product
📖 REST Service Documentation

About

This app is designed to help roomates efficiently manage and share household tasks in a shared living space. Let's make communal living stress-free!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages