shards.info
Web service that lists all repositories on GitHub that have Crystal code in them. The sources are available on GitHub
View of all repositories on Github and Gitlab that have Crystal code in them.
Installation
- Install Crystal
- Clone this repository
- Install dependencies
shards install - Rename
.env.exampleto.env, and set variables. - Run Web server as
crystal src/web.cr
Development
psql -c 'CREATE DATABASE shards_info_development;' -U postgres
crystal src/cli.cr migrate
Database Operations (Makefile)
We use a Makefile to automate database schema dumps and restoration. Available commands:
Dump database schema and migrations
make db-dump
This dumps both the schema and migration metadata (__lustra_metadatas table) into src/db/structure.sql.
Dump schema only
make db-dump-schema
Dump migrations metadata only
make db-dump-migrations
Restore from dump
make db-restore
Using a different database
make db-dump DB_NAME=your_database_name
make db-restore DB_NAME=your_database_name
View all available commands
make help
Frontend
Install depencencies:
npm install
After modifications run npm run build
Specs
Prepare a database:
crystal spec/initdb.cr
Run specs:
KEMAL_ENV=test crystal spec
Special thanks
- Crystal language
- Lustra - Advanced ORM between PostgreSQL and Crystal
- Kemal - Web microframework for Crystal
- Mosquito - A generic background task runner for Crystal applications
- raven.cr - Crystal client for Sentry
- cr-cmark-gfm - Crystal C bindings for cmark-gfm
- noir - Syntax Highlight Library for Crystal
- Logo icon taken from Game Icons pack under CC BY 3.0 license.
Contributing
- Fork it (https://github.com/mamantoha/shards-info/fork)
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- mamantoha Anton Maminov - creator, maintainer