zipapi

module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2019 License: BSD-3-Clause

README

zipapi

A small coding challenge project.

Coverage Status GoReportCard

zipapi is an HTTP(S) API that takes files uploaded to POST /archive as multipart/form-data into a zip archive and returns it as a response.

Roadmap

  • Required:
    • Upload of multiple files and creating a zip file out of them
    • Provide the zip file back to the API user
    • Serve multiple requesting clients at the same time
    • Limit the size of each uploaded file
  • Nice to have:
    • Provide automated API tests
    • CI
    • Retain a history of all created Zip files and their contents *
    • Expire created Zip files after a specific period of time **

* There's currently no database-backed persistency implementation but just a simple in-memory mock. Implementing one shouldn't be a problem though.

** This service shouldn't be responsible for this problem. There must be a separate service that periodically goes over the database and cleans up expired files.

Getting started

  • Download the latest release from releases
  • Compile /cmd/zipapi using go build
  • Define a configuration using /cmd/zipapi/config.toml as a template
  • Run the server using ./zipapi -config /path/to/config.toml providing the path to your configuration file.

Directories

Path Synopsis
api
apitest
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL