Giter Club home page Giter Club logo

awesome-crystal's Introduction

Awesome Crystal Awesome Build Status

A curated list of awesome Crystal code and resources. Inspired by awesome and awesome-awesomeness. The goal is to have projects mostly stable and useful for users.

Contributions are welcome. Please take a quick look at the contribution guidelines first.

Algorithms and Data structures

Api Builders

  • crystal_api - Simple PostgreSQL REST API with Rails devise-like auth

Caching

Cli Builders

  • cli - Library for building command-line interface applications
  • commander - Command-line interface builder
  • completion - Easy command line completion engine
  • docopt - A docopt.org port
  • optarg - Yet another library for parsing command-line options and arguments

Configuration

Data Generators

  • faker - A library for generating fake data
  • hashids.cr - A library to generate YouTube-like ids from one or many numbers

Database Drivers

Database Tools

  • micrate - Database migration tool

Email

Environment Management

  • crenv - Crystal version manager
  • rcm.cr - Redis Cluster Manager

Examples and funny stuff

Framework Components

Game Development

  • crystal-chipmunk - Bindings for Chipmunk, a fast and lightweight 2D game physics library
  • flight-crusader - POC top down flight game
  • glove - A library for gaming development
  • inari - A game written in Crystal, using the Glove project as the game engine
  • medico - Game about a medieval doctor
  • mos_game - Mini Offline Singleplayer game

HTTP

Implementations/Compilers

  • crisp - Lisp dialect implemented with Crystal
  • crow - Transpile/compile Crystal to Flow
  • crystal - Crystal itself is written in Crystal
  • csmli - Mini-Lisp interpreter
  • onix - ONYX Programming Language

Logging and monitoring

Low level bindings

Misc

  • aasm.cr - Easy to use finite state machine for Crystal classes
  • chalk-box - Terminal color toolbox, check support and colorized (without String monkey patch)
  • circuit_breaker - Implementation of the circuit breaker pattern
  • clamd.cr - Client for the clamd antivirus server
  • cltk - A crystal port of the Ruby Language Toolkit
  • crdoc - CLI tool to search and open documentation
  • cron_scheduler - Job scheduler with crontab patterns
  • crystal-diff - A Crystal sequence differencing implementation
  • crystal-futures - Future type implementation
  • crystal-i18n - Internationalization library
  • daemonize.cr - Crystal process daemonizer
  • denetmen - Useful micro validator / check library.
  • emoji.cr - Emoji library
  • evented - A micro library to publish and subscribe for Crystal objects
  • executable_path - Portable current executable's path
  • guardian - File change watcher for Crystal and Non-Crystal libs
  • haikunator - Heroku-like random name generator
  • hoop - Building native OSX apps
  • html_builder - DSL for creating HTML
  • immutable - Implementation of thread-safe, persistent, immutable collections
  • inflector - Singularize, pluralize, camelize, etc (port from ActiveSupport)
  • kreal - Model sharing & RPC library built on and works with Kemal seamlessly
  • lambda.cr - Uniformed function call syntax
  • metaclass - A library for manipulating class-level definitions
  • observable - Implementation of the Observer pattern
  • progress - [==..] Progress bar
  • promise - A Promise Implementation
  • ramlrenderer - HTLM doc builder for RAML 1.0
  • raytracer-crystal - CPU Raytracer with examples
  • sentry - Watches src files, rebuilds/reruns application on file changes
  • shell.cr - Small simplistic helper class for executing shell commands
  • spinner - Terminal Spinner
  • statsd.cr - Statsd client library
  • stumpy_png - Read access to PNG images
  • syscall.cr - Raw syscall interface
  • wire - A packet analyzer

Networking

ORM/ODM Extensions

Package Management

  • shards - Dependency manager for the Crystal

Project generators

  • bindgencr - Generator of bindings based on castxml output
  • crystal_lib - Automatic binding generator for native libraries
  • fez - A Kemal application generator
  • generate - A tool for generating whole Crystal project structure, or any part of it during lifetime of project

Queue

Science and Data analysis

  • chizge - A Network (Graph) Analysis library, inspired by NetworkX
  • machine - Simple machine learning algorithm
  • stats - An expressive implementation of statistical distributions

Search

  • query-builder - Sql Query Builder library
  • query.cr - Query abstraction
  • soegen - Elasticsearch client for Crystal similar to the stretcher gem for ruby

Task management

  • crake - Rake-like build utility library. It is just a library, so it does not provide CLI
  • lake - Rake-like task management for Crystal programs

Template Engine

  • Bunny - A simple HTML templating language for Crystal, same syntax as erb
  • crustache - {{Mustache}} for Crystal
  • Kilt - Abstraction layer for template engines
  • Slang - Lightweight, terse, templating language inspired by Ruby's Slim
  • teeplate - A library for rendering multiple template files
  • temel - Extensible HTML::Builder alternative for Crystal, supports custom tag definitions

Testing

Third-party APIs

Virtualization

Web Frameworks

  • amatista - A web framework to create quick applications
  • amethyst - A Rails inspired web-framework
  • carbon-crystal - A framework with Rails in mind
  • chocolate - Simple web framework and template engine
  • frost - Full featured MVC Web Framework, largely inspired by Ruby on Rails
  • iceberg - A full-stack web framework
  • kemal - Lightning Fast, Super Simple web framework. Inspired by Sinatra
  • kemalyst - A rails like framework based on kemal
  • moonshine - A minimal web framework

Web Servers

  • fast-http-server - Super fast, zero configuration command line HTTP Server
  • kamber - Blog server based on Kemal
  • prax.cr - Rack proxy server for development

Community

Resources

Official Documentation Translations

Services and Apps

Tools

DevOps

Editor Plugins

Shell plugins

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.