Giter Site home page Giter Site logo
Discours photo

discours Goto Github PK

repos: 10.0 gists: 0.0

Name: Discours

Type: Organization

Bio: Social media platform for high quality collective journalism, which gives tools and tribune to amplify voices of people, spread knowledge and critical thinking

Blog: https://discours.io/

Разработка проекта Дискурс

Дискурс — проект с открытым исходным кодом и каждый желающий может поучаствовать в его разработке.

Манифест разработки Дискурса

Лого Дискурса

Красивый баннер Дискурса с людьми в одежде 18-о века

  1. Дискурс — открытый проект. Каждый желающий имеет право стать контрибьютором проекта, внести изменения в любой из сервисов проекта и отправить Pull Request.
  2. Дискурс — общий проект. Вы всегда можете пообщаться с другими членами команды в Gitter чате Дискурса. Там Вы можете узнать, что сейчас лучше сделать, а также задать любой вопрос по поводу разработки проекта.
  3. Дискурс — проект для читателя. В первую очередь команда выполняет те таски, за которые проголосовали пользователи на публичной доске задач проекта.
  4. Дискурс — проект для любого разработчика. Мы принимаем микросервисы для backend на любом языке программирования. Но стоит понимать, что мэйнтейнеры проекта не могут знать всех языков, поэтому Dockerfile для запуска микросервиса, понятная документация и тесты (с настроенным CI для их прогона) обязательны в каждом микросервисе.
  5. Дискурс — проект для приятной разработки. Команда следит за качеством кода в проекте для того, чтобы новым контрибьюторам было максимально просто влиться в проект. Качество кода - это не только code style и тесты, но и такие субъективные показатели, как читаемость кода и архитектура. Мэйнтейнеры проекта имеют право попросить автора PR изменить код в целях повышения его качества.
  6. Дискурс — проект для удобной разработки новых features. Команда Дискурса стремится создать проект, в котором не надо читать весь код для реализации конкретной функциональности. Мы стремимся создать максимально изолированную среду разработки, используя которую каждая фича разрабатывается отдельно. На frontend проектах мы используем storybook для разработки компонентов и react-testing-library для интеграционного тестирования функциональности компонентов. На backend проектах — разрабатываем используя тесты.
  7. Дискурс — проект с открытым манифестом разработки. Каждый желающий может прислать изменения в данный манифест.
  8. Дискурс — проект доступный. Верстка в проекте должна учитывать пользователей с ограниченными возможностями, то есть необходимо использовать ARIA аттрибуты. В storybooks всех фронтэнд проектов установлен плагин @storybook/addon-a11y, который показывает недостающие ARIA аттрибуты.
  9. Дискурс — проект без гос. цензуры. Но большая часть наших читателей из РФ, где РосКомНадзор частенько бомбит славный город Воронеж и даже иногда блокирует сам себя. Инфраструктура проекта должна быть распределенной, но должна поддерживать быструю смену IP адресов всего, до чего необходимо достучаться пользователю (фронтэнд, бэкэнд, rss микросервис, другие микросервисы доступные пользователю). Нельзя создавать vendor lock на решения, которые не позволяют быстро сменить IP (Cloudflare, Netlify).

Архитектура проекта Дискурс

Архитектура

Проекты

Проект Технологический стэк Цель Статус
discours-frontend-main Typescript / React Основной фронтэнд проект. Не начат
discours-backend-main ? Основной бэкенд проект. Не начат
discours-microservice-images Python / Thumbor Сервер (по факту голый thumbor), выдающий изображения в нужном фронтэнду размере и формате (.webp выдается автоматически, если браузер поддерживает этот формат). Изображения хранятся на S3. Ожидает переноса в open source
discours-microservice-search Java / Elasticsearch Сервер поиска. Индексирует все статьи на сайте. Получает по HTTP обновления статей от основного бэкенда. Получает по HTTP запрос на поиск и ищет среди индексированного. Ожидает переноса в open source
discours-microservice-rss Python При получении запроса идет на основной бэкэнд за данными и формирует xml файл в формате RSS. Ожидает переноса в open source
discours-microservice-telegram Go Получает от бэкэнда новые статьи и отправляет подписчикам в Telegram. Ожидает переноса в open source
discours-microservice-social-image Python / Pillow Генерирует для бэкэнда изображение, которое будет вставлено в страницу статьи как og:image. В дальнейшем планируется расширение сервиса для генерирования изображения из комментария. Ожидает переноса в open source
discours-microservice-donate ? Микросервис, хранящий всю информацию по пожертвованиям. Имеет интеграцию с Яндекс.Кассой (для снятия legacy платежей, полученных до мая 2019) и Cloudpayments. Не начат
discours-microservice-recommendations ? На основе куки пользователя + информации о логине генерирует 3 рекоммендуемых статьи к определенной статье. Не начат

Discours's Projects

discoursio-webapp icon discoursio-webapp

Social media platform for high quality collective journalism, which gives tools and tribune to amplify voices of people

readme icon readme

Central repository for all discours-related development

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.