Coder Social home page Coder Social logo

makarovyaroslav / 37_transcendence_1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from devmanorg/37_transcendence_1

0.0 2.0 0.0 42 KB

Задача #37 из курса devman.org

Home Page: https://devman.org/

Python 71.85% HTML 9.94% Smarty 18.21%

37_transcendence_1's Introduction

Проект "Превосходство"

Данный проект подразумевает создание социальной сети, в которой необходимы регистрация, профили, стена, личные сообщения и АПИ для взаимодействия с этим всем. И главное – нужен робот, который будет эмулировать действия пользователя. Планируется запустить несколько таких социальных сетей, кучу роботов и с помощью этого моделировать поведение реальных пользователей в реальных соцсетях и изучать их таким образом.

Итерация 1

1.1. В ходе первой итерации создан и настроен базовый проект для социальной сети на Django 2.0.

1.2. Создан view для просмотра информации о пользователе.

1.3. Настроено логирование ошибок в Sentry.

1.4. Добавлено использование django-configurations для управления конфигурациями.

Итерация 2 (текущая версия кода)

В ходе второй итерации создан fabric-скрипт, который при выполнении команды fab bootstrap делает следующие действия на удалённой машине:

  • Устанавливает нужные системные пакеты. Python, nginx, PostgreSQL и их требования.
  • Конфигурирует БД: создает базу и пользователя со всеми нужными правами.
  • Настраивает nginx на отдачу статики и пробрасыванию запроса к приложению на Django.
  • Создает папку с сорцами, клонирует в неё последнюю версию репозитория.
  • Создает виртуальное окружение с нужной версией Python, установливает в него все пакеты из requirements.txt.
  • Запускает необходимые менеджмент-команды (migrate, collectstatic).
  • Рестартует/запускает uwsgi и nginx.

Конфиги для nginx и uwsgi генерируются из шаблонов в папке configs.

Деплой на VPS

Шаг 1. Установить требуемые зависимости.

sudo pip3 install -r requirements.txt

Шаг 2. Зарегистрироваться на Sentry, получить Client Key (DSN).

Шаг 3. Заменить имеющееся значение RAVEN_DSN на полученный Client Key в параметрах окружения (файл envs.txt).

После этого ошибки, возникающие при работе приложения, будут логироваться в ваш аккаунт и отправляться вам на почту.

Шаг 4. Заменить значение остальных переменных окружения на свои значение в файле envs.txt.

Шаг 5. При необходимости поменять значение 'ProductionConfig' на 'DevelopmentConfig' в файлах manage.py и wsgi.py.

Шаг 6. Установить параметры окружения, введя в консоли

source envs.txt

Шаг 7. Закоммитить сделанные изменения в репозиторий

git add .
git commit -m "Текст коммита"
git push

Шаг 8. Выполнить fabric-скрипт для деплоя на удалённую машину

fab bootstrap

После этого приложение будет доступно по ip-адресу удаленной машины.

Пример работы приложения можно увидеть по данной ссылке.

Просмотр информации о пользователе доступен по данной ссылке, где последняя часть адреса - это id пользователя.

Цели проекта

Код написан в учебных целях. Обучающие курсы для веб-разработчиков - DEVMAN.org

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.