Requirements: Clojure CLI link
To run, execute clj -A:run-part1
.
The program will read the random sample files in ./data
and output the aggregate sorted view to the terminal.
The program will read csv-like files. Files are required to have the header: e.g. LastName | FirstName | Gender | FavoriteColor | DateOfBirth
if the file is pipe delimited.
To start the server, execute clj -A:start-part2
.
Post data to localhost:8080/records
using the same file format as part1. Post data requires the sep
query parameter to be either pipe
, comma
, or space
corresponding to the delimiter present in the data posted in body.
The data in each respective route is sorted in the same order as part1.
Run clj -A:test:run-tests
.
This project heavily relies on clojure.spec
for parsing/unparsing csv files and random generative testing.