Skip to content

Latest commit

 

History

History
41 lines (22 loc) · 2.01 KB

README.md

File metadata and controls

41 lines (22 loc) · 2.01 KB

What is this?

This is a web app written in GO, capable of handling file uploads in parallel, with the user having the ability of adding "File Handlers" as a Responsibility Chain. This project was mainly an exercise for design patterns, hence incomplete front-end. Part of Software Development Techniques course taught by @andraevs.

image

image

Original Task (@andraevs)

Create a platform that allows to set up rules for ingesting and processing large amounts of data. The platform should allow selecting different data sources as streams (for example from network connections or files) and to configure a number of filters/handlers for each data stream. Result of each pipeline should also be collected in a configurable end destination. Filters can be duplicated, modified, composed. It must be possible to also attach loggers/observers to different parts of the pipeline for debugging.

Design phase

Design patterns:

  • Chain of Responsibility (data stream filters / handlers)
  • Decorators (loggers / observers)
  • Object Pool
  • Builder / Factory for Connection OR Singleton Clipboard

image

Code https://pastebin.com/pE6UK4JB

image

Code https://pastebin.com/7az0ZqSr

image

Code https://pastebin.com/NXWRBnBY

image

Code https://pastebin.com/jfCfqir0

image

https://pastebin.com/nXATujyU