{"id":13405763,"url":"https://github.com/hexlet-basics/hexlet-basics","last_synced_at":"2025-03-14T10:31:39.711Z","repository":{"id":39599158,"uuid":"261513187","full_name":"hexlet-basics/hexlet-basics","owner":"hexlet-basics","description":"Interactive Programming Courses","archived":false,"fork":false,"pushed_at":"2024-04-22T11:37:03.000Z","size":11680,"stargazers_count":204,"open_issues_count":27,"forks_count":64,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-04-22T12:31:13.942Z","etag":null,"topics":["hacktoberfest","learn-to-code"],"latest_commit_sha":null,"homepage":"https://code-basics.com/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hexlet-basics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-05-05T15:40:10.000Z","updated_at":"2024-04-22T12:31:21.412Z","dependencies_parsed_at":"2023-11-17T08:49:17.992Z","dependency_job_id":"a815f7aa-adcb-4d63-854c-1321b853ce52","html_url":"https://github.com/hexlet-basics/hexlet-basics","commit_stats":null,"previous_names":[],"tags_count":615,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexlet-basics%2Fhexlet-basics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexlet-basics%2Fhexlet-basics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexlet-basics%2Fhexlet-basics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexlet-basics%2Fhexlet-basics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hexlet-basics","download_url":"https://codeload.github.com/hexlet-basics/hexlet-basics/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243562055,"owners_count":20311212,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["hacktoberfest","learn-to-code"],"created_at":"2024-07-30T19:02:10.876Z","updated_at":"2025-03-14T10:31:39.699Z","avatar_url":"https://github.com/hexlet-basics.png","language":"Ruby","readme":"[![github action status](https://github.com/hexlet-basics/hexlet-basics/workflows/push/badge.svg)](https://actions-badge.atrox.dev/hexlet-basics/hexlet-basics/goto)\n\n# hexlet-basics\n\n## Setup\n\n### Requirements\n\n- docker\n- ruby \u003e= 3.0.0\n- make\n- node\n- caddy\n- biome (in editor, for linting)\n\n### Run\n\n```bash\n\n# /etc/hosts 127.0.0.1 code-basics.test\nmake setup\nmake dev # run server\n# open code-basics.test\n\nmake test # run tests\n\n# load language\n# make language-load L=php\n\nmake sync # sync locales, types, fixtures\n```\n\nTo manage loaded languages and set other settings, you need to sign in (login: `full@test.io`, password: `password`)\n\n### Dev Tools\n\n- \u003chttps://chromewebstore.google.com/detail/inertiajs-devtools/golilfffgehhabacoaoilfgjelagablo?hl=en\u003e\n- Redux DevTools\n\n### Production\n\nKube access\n\n```bash\n# make k8s-macos-setup or make k8s-ubuntu-setup\nexport TWC_TOKEN=\u003cyour token\u003e\n```\n\n### Deploy\n\n- Create new tag via command:\n\n  ```bash\n  make next-tag\n  ```\n\n- Wait notification about ready tag in Slack channel `#sideprojects-code-auto` or wait [Github Actions](https://github.com/hexlet-basics/hexlet-basics/actions/workflows/release.yml)\n- Change version in [k8s/hb-app-chart/values.yaml](/k8s/hb-app-chart/values.yaml) and then:\n\n  ```bash\n  make -C k8s helm-upgrade-app\n  ```\n\n## TODO\n\n1. switch to yandex postbox (smtp)\n1. events to n8n\n1. theme switcher\n1. \u003chttps://github.com/DavidWells/analytics\u003e\n1. auth: vk id, yandex id, google id (except ru)\n1. fix XPaging\n1. schema.org\n1. virtual landings\n1. extract primereact configuration to https://github.com/Hexlet/primereact-bootstrap-theme\n1. switch from ansible vault to helm secrets\n1. upload course image in admin interface (and remove devicon)\n1. configus =\u003e dotenv\n1. Check if yandex.market is used\n1. primary keys: integer = bigint\n1. add rss to blog\n\n---\n\n[![Hexlet Ltd. logo](https://raw.githubusercontent.com/Hexlet/assets/master/images/hexlet_logo128.png)](https://hexlet.io/?utm_source=github\u0026utm_medium=referral\u0026utm_campaign=hexlet\u0026utm_content=hexlet-basics)\n\nThis repository is created and maintained by the team and the community of Hexlet, an educational project. [Read more about Hexlet](https://hexlet.io/?utm_source=github\u0026utm_medium=referral\u0026utm_campaign=hexlet\u0026utm_content=hexlet-basics).\n\nSee most active contributors on [hexlet-friends](https://friends.hexlet.io/).\n","funding_links":[],"categories":["TypeScript","Ruby"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexlet-basics%2Fhexlet-basics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhexlet-basics%2Fhexlet-basics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexlet-basics%2Fhexlet-basics/lists"}