• Stars
    star
    157
  • Rank 237,076 (Top 5 %)
  • Language
    Ruby
  • License
    GNU General Publi...
  • Created almost 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fast-paced chess tactics trainer

Blitz Tactics

A free and open-source website for playing fast-paced chess puzzles!

If you want to play random puzzles each time:

  • Three - three minutes, three lives, three hints.
  • Haste - correct moves gain time, mistakes lose time.

These puzzles change daily:

  • Countdown - solve puzzles before time runs out
  • Speedrun - solve puzzles as quickly as you can

For more ways to play:

  • Repetition - solve every puzzle quickly and precisely to unlock the next level
  • Infinity - play through endless puzzles and set your own difficulty

Development

The backend uses Rails 6, Ruby 2.7.3, and Node 12.x LTS. Postgres 9 is used for the database. Chess puzzle data is imported into the database from JSON data files.

The frontend uses a modified version of Chessground for the interactive chessboard and chess.js for chess logic. User interfaces are implemented with Vue 3 and some legacy Backbone.js code. Webpack 4 and Sprockets 4 are both used for asset compilation.

Development instructions

First make sure your dev environment is set up for Ruby and Typescript development. You'll need Yarn and maybe a Ruby version manager like chruby or RVM. Then from within your git clone of the codebase, these steps will get you a dev environment with the chess puzzles used on the site:

bundle install    # install ruby gems
yarn install      # install node_modules

rails db:create   # set up an empty postgres db: blitz-tactics_development
rails db:migrate  # sets up the db schema

yarn lichess:puzzles:fetch   # downloads ~125k lichess v1 puzzles as JSON files
yarn lichess:puzzles:import  # import puzzles from JSON into the db (15+ min)
yarn lichess:puzzles:check   # should confirm the puzzles were loaded

yarn blitz:game_modes:fetch  # downloads puzzles used on blitztactics.com as JSON files
yarn blitz:game_modes:import # imports game modes puzzles into the db (6+ min)
yarn blitz:game_modes:check  # prints the number of puzzles in the db for each game mode
  • Run a rails dev server: rails s
  • Run a webpack dev server: yarn dev or ./bin/webpack-dev-server

Go to http://localhost:3000/ and you'll see the Blitz Tactics homepage if all went well.

Special thanks

  • Stepmania - inspiration for the original game mechanics
  • lichess - tactics puzzles and awesome community's feedback

More Repositories

1

ssh-tunnels

Visual examples and use cases for SSH tunnels
Vue
206
star
2

chessboard-recognizer

Uses neural networks to extract chess positions from images
Python
104
star
3

yclist

List and description of ycombinator companies
Ruby
63
star
4

chess-puzzle-maker

Creates chess puzzles from chess games and positions
Python
59
star
5

bash-prompt-generator

Easily customize bash prompt PS1 colors
JavaScript
36
star
6

256-colors

Reference for using xterm color codes
Vue
15
star
7

chess-fork

Experimental chess analysis interface
TypeScript
13
star
8

chessmenow

Multiplayer online chess in node.js
JavaScript
10
star
9

ruby-stockfish

A ruby client for the Stockfish chess engine
Ruby
10
star
10

hs-replay-finder

Find replays of games by top Hearthstone players
Ruby
4
star
11

favicon_party

Reliably extract favicons from webpages
Ruby
3
star
12

cellular-automata

An overview and animations of cellular automata
JavaScript
3
star
13

blitz-tactics-puzzles

Puzzle data files used on a chess puzzle site
3
star
14

zsh-prompt-generator

JavaScript
3
star
15

the-traveler

Visualizing a robot exploring the web forever
Ruby
2
star
16

meta-legend

Recent replays of games by top Hearthstone players
Ruby
2
star
17

munchable

Quickly find nearby restaurants. Rails experiment.
JavaScript
2
star
18

dotfiles

Various *nix dotfiles
Vim Script
1
star
19

lc0-data-converter

For converting training data from lc0 -> stockfish nnue
Shell
1
star
20

darksquares

Share and collaboratively annotate chess games
Vue
1
star
21

level-order

Algorithm problems and code solutions
HTML
1
star
22

zombeat

TC Disrupt hackathon project. HTML5 zombie defense game.
JavaScript
1
star
23

eco-classifier

Classifies chess openings from a list of opening moves
Ruby
1
star