Menu

Home

Radek Łukasz

Welcome to Sticky Notes IO Wiki page!

Link to Project Documentation (in Polish):
Polish Project Documentation

Key features of the application:
- Realtime notes sharing across many computers in local network
- Each connection has to be verified by generating & passing the unique session code
- Notes colors, font and even opacity are fully customizable.
- Images storage by using simple drag & drop mechanism
- Dustbin (notes are removed after 15 days) & Archive containers

Application structure:

stickynotes.application.core
Application core.

stickynotes.application.swing.rmimenu
Implementation of graphic & logic modules responsible for managing direct connections between two - remote applications.

stickynotes.communication.p2p.clientside
Implementation of Data Downloading Module - submodule of Inter-Client Communication Module.

stickynotes.commmunication.p2p.common
Implementation common interfaces & classes for Data Downloading & Data Sharing Modules.

stickynotes.communication.p2p.serverside
Implementation of Data Sharing Module - submodule of Inter-Client Communication Module.

stickynotes.notes.model
Responsible for containing content of each note, including visual parameters such as:
color, size, font, opacity etc.

stickynotes.notes.widget.containers
Implementation of notes containers (dustbin & archive) including logic & UI.

stickynotes.notes.widget.content
Classes rensponsible for notes logic.

stickynotes.notes.widget.core
Classes & Interfaces responsible for coordination between all notes login & model modules.
Are called directly from application core (see above).

stickynotes.notes.widget.daemons
Contains implementation of daemon threads monitoring each notes. Right now the system module
responsible for automatic note color change while approaching potential final date is not implemented, however additional implementation will be included in this specific module.

stickynotes.notes.widget.factories
Implementation of Factory Pattern to create specific instances of notes (it is yet avoided as this functionality is fully realized by application core, however it is expected to migrate to this type of architecture in the future in order to clean up code structure).

stickynotes.notes.widget.helpers
Classes - helpers - used to realize specific functions in logic & UI layers (eg. an ability to move a note across the screen, change it's size or the dedicated window responsible for choosing a date).

stickynotes.notes.widget.listeners
Classes responsible tor capturing outcoming from notes UI events - after being captured they are properly interpreted.

stickynotes.persistence.cloud
Yet not implemented module, expected to realize the functionality of Synchronization in Cloud Module.
Will be responsible for storing data in cloud service and sharing the data across specific clients.

stickynotes.persistence.common
Contains implementation of interfaces for Local Data Access & Cloud Data Access modules.

stickynotes.persistence.local
Implementation of Local Data Access module. Contains classes responsible for input-output operations with file system.

stickynotes.security.authentication
Implementation of Security Module. Yet it realized only a functionality of generating one-time access session codes used in connecting to remote client. (After activating a server the client has to generate Access Code for each client he wants to share his data with).