HexaTodo

This project demonstrates a simple ToDo application built in Crystal programming language following the principles of Hexagonal Architecture (Ports and Adapters). Hexagonal Architecture promotes modularity and testability by structuring the application around core domain logic with input and output ports.

Features

Architecture Overview

The application is structured according to Hexagonal Architecture principles, with three main components:

Installation

  1. Install Crystal programming language if you haven't already. Follow the instructions here.
  2. clone this repository :
git clone https://github.com/JadeKharats/hexatodo.cr
  1. Navigate to the project directory:
cd hexatodo.cr
  1. Compile
shards build

Now, you have binaries in ./bin folder

Usage

Webserver

TODO write webserver usage

CLI

TODO Add CLI usage

Structure

Dependencies

This project has no external dependencies beyond the Crystal standard library.

Roadmap

To go further, with external libraries

Bonus

Development

TODO Write development instructions here

Contributing

  1. Fork it (https://github.com/JadeKharats/hexatodo.cr/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors