The coolest Crystal API framework
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
spec
src
.dockerignore
.gitignore
Dockerfile
LICENSE
README.md
shard.lock
shard.yml

README.md

Frost Crystal: The coolest Crystal API framework

Frost Crystal is a barebones, modular API framework built with Crystal... and it's super cool.

Its structure has been built out to be naturally quite opinionated. That being said however, the project's logic is easy enough to follow and can easily be modified to suit your needs as much of the logic can be found and modified in the helper files.

The project utilizes Toro for modular routing and Granite for substrate-independent persistence.

Getting Started

Start by downloading this repository, note that you must have already have Crystal installed to use it.

Download dependencies with:

$ shards install

To get the project running at localhost:3000 run:

$ crystal src/frost-crystal.cr

And you can test the project with:

$ crystal spec

Examples

TODO: Write usage instructions here

Project Structure

[root]
     |-[config] <- Configuration files for the application database
     |
     |-[spec]
     |      |-[api] <- Version-grouped test files suffixed with "_spec.cr"
     |
     |-[src]
     |     |-[api] <- Version-grouped API controller route files suffixed with "_api.cr"
     |     |
     |     |-[helpers] <- Helper files suffixed with "_helper.cr"
     |     |
     |     |-[models] <- Model files
     |
     |-(Dockerfile) <- A dockerfile that can generate a runnable container for prod
     |
     |-(shard.yml) <- The Crystal-lang dependency list

Contributing

  1. Fork it from here
  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

  • J-Mo63 Jonathan Moallem - creator, maintainer

License

This project is available as open source under the terms of the MIT License.