Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jonjondev/frost-crystal
The coolest Crystal REST API framework
https://github.com/jonjondev/frost-crystal
Last synced: 7 days ago
JSON representation
The coolest Crystal REST API framework
- Host: GitHub
- URL: https://github.com/jonjondev/frost-crystal
- Owner: jonjondev
- License: mit
- Created: 2018-07-16T03:46:18.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-08-16T13:10:08.000Z (about 1 year ago)
- Last Synced: 2023-08-24T04:31:56.179Z (about 1 year ago)
- Language: Crystal
- Homepage:
- Size: 44.9 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Frost Crystal: The coolest Crystal API framework
Frost Crystal is a **barebones, modular API framework** built with [Crystal](https://crystal-lang.org)... 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](https://github.com/soveran/toro) for modular routing and [Granite](https://github.com/amberframework/granite) for substrate-independent persistence.
## Getting Started
Start by downloading this repository, note that you must have already have [Crystal](https://crystal-lang.org) installed to use it.
Download dependencies with:
```bash
$ shards install
```To get the project running at `localhost:3000` run:
```bash
$ crystal src/frost-crystal.cr
```And you can test the project with:
```bash
$ 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](https://github.com/jonjondev/frost-crystal/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
- [jonjondev](https://github.com/jonjondev) Jonathan Moallem - creator, maintainer
## License
This project is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).