Skip to content

Design Patterns exercise: Golang Web app that allows parallel file uploads via connection pools. Supports modifier chains

License

Notifications You must be signed in to change notification settings

finicu212/sdt-upload-filters

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Design Patterns exercise: Golang Web app that allows parallel file uploads via connection pools. Supports modifier chains

Resources

License

Stars

Watchers

Forks

Packages

No packages published