Categorygithub.com/romshark/zipapi
module
1.0.1
Repository: https://github.com/romshark/zipapi.git
Documentation: pkg.go.dev

# README

zipapi

A small coding challenge project.

Travis CI: build status 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.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author