Coder Social home page Coder Social logo

hexlet-sicp's Introduction

Maintainability Test Coverage build status github action status

hexlet-sicp

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

Участие

Requirements

  • PHP
  • Composer
  • SQLite for local, PostgreSQL for production
  • heroku cli

Setup

$ make setup
$ make test # run tests
$ make start # start server
$ php artisan migrate --seed

Смысл

MVP

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

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

Стандарты

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

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

  • Все экшены контроллеров должны быть покрыты тестами
  • Формы делаются с помощью https://github.com/LaravelCollective/html
  • В подавляющем большинстве используется ресурсный роутинг. Что под него не подходит сначала обсуждается (такое бывает крайне редко)
  • Тексты только через локали
  • Чтобы включить логирование 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).

hexlet-sicp's People

Contributors

fey avatar mokevnin avatar geozhur avatar grozwalker avatar zhabinka avatar vikzh avatar bsv-hub avatar plugin73 avatar ssssank avatar alexp11223 avatar fessan avatar mityadementiy avatar yoffic avatar altvec avatar char16t avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.