Skip to content

Commit

Permalink
Readme updated
Browse files Browse the repository at this point in the history
  • Loading branch information
mstama committed Jun 8, 2017
1 parent 619117d commit 703a730
Showing 1 changed file with 54 additions and 2 deletions.
56 changes: 54 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,54 @@
# Track
Conference Track Management
# Conference Track Management

### How to build

* [Install](https://www.microsoft.com/net/download/core#/current) .NET Core 1.1
* In the project folder, where the **Track.csproj** is, execute the following command:

```
dotnet build -c release
```
### How to run

* Running using the project file. In the project folder, where the **Track.csproj** is, execute the following command:

```
dotnet run input.txt
```

* Running using the binary. Execute the following command with the binary file:

```
dotnet Track.dll input.txt
```
### How to test

* Executing unit tests. In the unit tests project folder, where the **UnitTests.csproj** is, execute the following

```
dotnet test
```

### Architecture

The solution is composed of:

* Models
* Talk : Information about a conference talk.
* Session : Collection of talks that occurs in the morning or in the afternoon.
* TrackDay : Conference day that has a morning and a afternoon session.
* Services
* Parser : Responsible for creating talks from the user input.
* TrackBuilder: Responsible for distributing all the talks in sessions and days.
* Interfaces : Services are implemented using interfaces to be extensible.

The main program is composed of:

* Composition Root: where all modules are put together.
* Execution of the command parser.
* Execution of the track builder.

Highlights:
* Extensibility: main modules are provided with an interface so it can be replaced in the composition root for evolution.

[GitHub Project Repository](https://github.com/mstama/Track)

0 comments on commit 703a730

Please sign in to comment.