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

awesome-crystal's People

Contributors

veelenga avatar greyblake avatar makenowjust avatar vjdhama avatar adlerhsieh avatar akwiatkowski avatar angarsk8 avatar nephos avatar askn avatar rx14 avatar f avatar jeromegn avatar jhass avatar mrrooijen avatar readmecritic avatar kofno avatar sija avatar benoist avatar izniburak avatar foobar2016 avatar andrewsuzuki avatar davydovanton avatar barisbalic avatar arktisklada avatar dkhofer avatar evanhahn avatar nuxlli avatar faustinoaq avatar g3ortega avatar 5t111111 avatar

Watchers

Kannan S avatar  avatar

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.