{"id":18865834,"url":"https://github.com/lipanski/spaced","last_synced_at":"2026-04-25T21:31:55.200Z","repository":{"id":45091945,"uuid":"237642886","full_name":"lipanski/spaced","owner":"lipanski","description":"A web app to help you memorize anything that fits on a flash card. Also my Ruby on Rails playground.","archived":false,"fork":false,"pushed_at":"2023-04-08T15:53:31.000Z","size":606,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-30T13:16:04.978Z","etag":null,"topics":["rails","ruby"],"latest_commit_sha":null,"homepage":"https://spaced.lipanski.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lipanski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-01T16:27:59.000Z","updated_at":"2022-11-18T18:36:11.000Z","dependencies_parsed_at":"2022-09-02T22:51:34.099Z","dependency_job_id":null,"html_url":"https://github.com/lipanski/spaced","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lipanski/spaced","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lipanski%2Fspaced","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lipanski%2Fspaced/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lipanski%2Fspaced/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lipanski%2Fspaced/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lipanski","download_url":"https://codeload.github.com/lipanski/spaced/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lipanski%2Fspaced/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32278249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T18:29:39.964Z","status":"ssl_error","status_checked_at":"2026-04-25T18:29:32.149Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rails","ruby"],"created_at":"2024-11-08T05:04:45.481Z","updated_at":"2026-04-25T21:31:55.183Z","avatar_url":"https://github.com/lipanski.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spaced\n\nSpaced is a web app that helps you memorize anything that fits on a flash card. The project makes use of the [spaced repetition technique](https://en.wikipedia.org/wiki/Spaced_repetition). Every day you'll be presented with a deck of cards. Difficult cards will show up more often than the easier ones. You can use this technique to learn foreign words, phone numbers, historical facts, medical terms, programming languages, keyboard shortcuts.\n\nSpaced is a pet project and it's also my Ruby on Rails playground. It's where I try out new concepts and show case some of the [best practices](https://github.com/lipanski/spaced/search?q=%22%23+NOTE%22\u0026unscoped_q=%22%23+NOTE%22) I know. The hosted version of the project comes with no guarantees whatsoever, but I'll do my best to keep the server running. You can always run your own version under the GPL-3.0 license.\n\nBrowse to \u003chttps://spaced.lipanski.com\u003e for the hosted version or read on, if you'd like to run your own server.\n\n## Installation\n\nThe project requires the following **dependencies**:\n\n- Ruby\n- Postgres\n- Yarn\n- Optional: SMTP credentials for sending out emails\n\nYou can find the **exact versions** inside the [`.tool-versions`](https://github.com/lipanski/spaced/blob/master/.tool-versions) file and I recommend using [asdf](https://asdf-vm.com/) to install all these dependencies in one go:\n\n```\nasdf plugin add ruby\nasdf plugin add nodejs\nasdf plugin add postgres\n\nPOSTGRES_EXTRA_CONFIGURE_OPTIONS=\"--with-openssl\" asdf install\n```\n\n**Setup** the project:\n\n```sh\nbin/setup\n```\n\n\u003e This will create a `.env` file within your project directory. This file allows you to configure your local environment, though the defaults should be a good start for a development server.\n\n**Run** the server:\n\n```sh\nbin/start\n```\n\n## Deploying to production\n\nThe project provides a [`Dockerfile`](https://github.com/lipanski/spaced/blob/master/Dockerfile) which is tailored for running a production sever. You can configure it via environment variables. Have a look inside [`.env.example`](https://github.com/lipanski/spaced/blob/master/.env.example) for the full list of variables.\n\nYou can build the production Docker image by running:\n\n```sh\ndocker build -t spaced .\n```\n\n...and you can try it out inside your development environment by running:\n\n```\ndocker run -it --rm --net=host --env-file .env -e \"RAILS_ENV=production\" -e \"SPACED_DB_USER=$USER\" -e \"SPACED_DB_NAME=spaced_development\" spaced\n```\n\n## Tests\n\nRun **all** tests:\n\n```sh\nbundle exec rake\n```\n\n...or just the **unit/controller** tests:\n\n```sh\nbundle exec rake test\n```\n\n...or just the **system** tests - by default they run in headless Firefox:\n\n```sh\nbundle exec rake test:system\n```\n\n...or just the **Rubocop** checks:\n\n```sh\nbundle exec rake rubocop\n```\n\n## Reference/Credits\n\n- SuperMemo2 Algorithm: \u003chttps://www.supermemo.com/en/archives1990-2015/english/ol/sm2\u003e\n- \u003chttps://en.wikipedia.org/wiki/SuperMemo\u003e\n- \u003chttp://www.blueraja.com/blog/477/a-better-spaced-repetition-learning-algorithm-sm2\u003e\n- German to English Dictionaries: \u003chttps://github.com/hathibelagal/German-English-JSON-Dictionary\u003e\n\n---\n\nCopyright (c) Florin Lipan, 2020\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flipanski%2Fspaced","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flipanski%2Fspaced","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flipanski%2Fspaced/lists"}