Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/schonfinkel/horatius
Part of an interview process with the .NET stack, done the functional (first) way.
https://github.com/schonfinkel/horatius
docker fsharp nix
Last synced: 25 days ago
JSON representation
Part of an interview process with the .NET stack, done the functional (first) way.
- Host: GitHub
- URL: https://github.com/schonfinkel/horatius
- Owner: schonfinkel
- Created: 2019-09-20T03:37:31.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-09-25T01:04:31.000Z (over 5 years ago)
- Last Synced: 2024-12-17T20:39:01.616Z (30 days ago)
- Topics: docker, fsharp, nix
- Language: F#
- Homepage:
- Size: 43 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Horatius
[![Build Status](https://travis-ci.org/mtrsk/Horatius.svg?branch=master)](https://travis-ci.org/mtrsk/Horatius)
[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fmtrsk%2FHoratius%2Fbadge%3Fref%3Dmaster&style=flat)](https://actions-badge.atrox.dev/mtrsk/Horatius/goto?ref=master)```
Then out spake brave Horatius,
The Captain of the Gate:
"To every man upon this earth
Death cometh soon or late.
And how can man die better
Than facing fearful odds,
For the ashes of his fathers,
And the temples of his gods,
```
[Lays of Ancient Rome - Horatius, XXVII.](https://en.wikisource.org/wiki/Lays_of_Ancient_Rome)## Structure
```
├── Dockerfile
├── files
│ ├── matriculasSemDV.txt
│ └── matriculasParaVerificar.txt
├── Horatius.sln
├── nix
│ ├── .nixpkgs-version.json
│ └── pinned-nixpkgs.nix
├── README.md
├── shell.nix
└── src
├── App
│ ├── App.fsproj
│ ├── AppView.fs
│ ├── Lib.fs
│ └── Main.fs
├── CLI
│ ├── CLI.fsproj
│ └── Program.fs
├── Verification
│ ├── Library.fs
│ └── Verification.fsproj
└── Verification.Tests
├── Program.fs
├── Tests.fs
└── Verification.Tests.fsproj
```### Source Code
* Verification: A classlib which implements the main components of the project.
* Verification.Test: Runs XUnit tests for the `Verification` classlib.
* CLI: A console application that runs the `Verification` on both the `matriculasSemDV.txt` and `matriculasParaVerificar.txt`.
* App: The GUI Application, mostly boilerplate. Created with the [AvaloniaUI](https://github.com/AvaloniaUI/Avalonia) and [it's wrapper](https://github.com/JaggerJo/Avalonia.FuncUI) for Elm-like MVU GUIs in F#.#### Running the project
* Tests
```sh
$ cd src/Verification.Tests
$ dotnet test
```* CLI
```sh
$ cd src/CLI
$ dotnet build
$ dotnet run
USAGE: horatius [--help] [--all]OPTIONS:
--all Parses both files and creates new ones.
--help display this list of options.
$ dotnet run --all
Loading File: ../../files/matriculasSemDV.txt
File written in the current directory
Loading File: ../../files/matriculasParaVerificar.txt
File written in the current directory
```* GUI
```sh
$ cd src/App
$ dotnet build
$ dotnet run
```