Skip to content

AllanNP/hexlet-sicp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maintainability codecov build status github action status

hexlet-sicp

Осилятор СИКП — сервис, в котором есть рейтинг тех, кто проходит сикп, и каждый отмечает что он прошел.

Участие

Requirements

  • PHP ^7.4
  • Extensions:
    • mbstring
    • curl
    • dom
    • xml
    • zip
    • sqlite
  • Composer
  • Node.js & npm
  • SQLite for local, PostgreSQL for production
  • heroku cli

Setup

$ make setup
$ make start # start server http://127.0.0.1:8000/
$ make test # run tests

Для генераций файлов-помощников (для автодополнения) используйте make ide-helper

Смысл

MVP

Включает в себя регистрацию и возможность отмечать, что прошел и профиль, в котором это можно посмотреть. Отмечаем по

  • Регистрация по паролю
  • Регистрация через соц сети

Стандарты

  • Пулреквесты должны быть настолько маленькими насколько это возможно с точки зрения здравого смысла
  • Весь код должен соответствовать стандартам кодирования PSR и Laravel
  • Пулреквест должен проходить все проверки

Прикладные вещи

  • Все экшены контроллеров должны быть покрыты тестами
  • Формы делаются с помощью netojose/laravel-bootstrap-4-forms
  • В подавляющем большинстве используется ресурсный роутинг. Что под него не подходит сначала обсуждается (такое бывает крайне редко)
  • Тексты только через локали
  • Чтобы включить логирование Rollbar, необходимо установить переменную LOG_CHANNEL=rollbar и ROLLBAR_TOKEN=
  • Чтобы добавить упражнение необходимо добавить его содержимое (код или картинка) по пути resources/views/exercise/listing/#_#.blade.php, а текстовое описание в resources/lang/{locale}/sicp.php под ключем exercises.#.# на соответствующем языке.

Альтернативный профиль БД для тестирования

  1. Создать отдельную тестовую базу postgres.
    Настройки параметров подключения можно посмотреть в секции pgsql_test конфигурации config/database.php Пример создания тестовой базы "с нуля":
sudo apt install postgresql
sudo -u postgres createuser --createdb $(whoami)
sudo -u postgres createuser hexlet_sicp_test_user
sudo -u postgres psql -c "ALTER USER hexlet_sicp_test_user WITH ENCRYPTED PASSWORD 'secret'"
createdb hexlet_sicp_test
  1. Запустить тесты с альтернативным профилем DB_CONNECTION=pgsql_test make test

Добавить пре-комит хук

$ git config core.hooksPath .githooks

Видео созвонов

Hexlet Ltd. logo

This repository is created and maintained by the team and the community of Hexlet, an educational project. Read more about Hexlet (in Russian).

FAQ

Q: Ошибка Illuminate\Session\TokenMismatchException: CSRF token mismatch. A: Сбросить кеш конфига php artisan config:clear

Releases

No releases published

Packages

No packages published

Languages

  • PHP 81.5%
  • HTML 17.8%
  • Other 0.7%