https://github.com/akurcubic/gerumap
Desktop app for creating and editing Mind Maps
https://github.com/akurcubic/gerumap
command-pattern composite-pattern factory-pattern observer-pattern singleton-pattern state-pattern
Last synced: 10 months ago
JSON representation
Desktop app for creating and editing Mind Maps
- Host: GitHub
- URL: https://github.com/akurcubic/gerumap
- Owner: akurcubic
- Created: 2024-04-29T12:29:12.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-06-17T23:19:03.000Z (over 1 year ago)
- Last Synced: 2025-01-08T06:54:34.680Z (12 months ago)
- Topics: command-pattern, composite-pattern, factory-pattern, observer-pattern, singleton-pattern, state-pattern
- Language: Java
- Homepage:
- Size: 227 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Java Desktop Application for Mind Maps
This project represents a Java desktop application developed for a university subject called "Software Design". It serves as a platform for practicing various design patterns and follows the MVC (Model-View-Controller) architecture.
## Purpose
The purpose of this project is to create Mind Maps to aid in studying. Mind Maps provide a structured way to organize ideas and information, centered around a central topic with associations to different subtopics.
## Features
- **Project Management**: Users can create projects to group their Mind Maps.
- **Mind Map Creation**: Users can create Mind Maps.
- **Map Editing**: Users can edit the Mind Map by moving topics, editing colors and text.
## Design Patterns Used
- **Singleton**: Ensures that there is only one instance of certain classes, such as the application controller.
- **Observer**: Allows objects to subscribe to changes and be notified when changes occur, useful for updating the view when the model changes.
- **State Pattern**: Helps manage the state of the application, such as different states for creating, editing, or exporting maps.
- **Command Pattern**: Enables encapsulation of requests as objects, allowing for the parametrization of clients with queues, requests, and operations.
- **Composite Pattern**: Treats individual objects and compositions of objects uniformly, useful for representing topics and associations in the Mind Map.
- **Factory Method**: Provides an interface for creating objects, but allows subclasses to alter the type of objects that will be created, handy for creating different types of topics or associations.