Skip to content

romanovsqd/devs-hub-python-django

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

302 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevsHub

DevsHub — платформа для разработчиков и смежных специалистов, где можно учиться, делиться проектами, находить единомышленников и вдохновляться чужими идеями.


О проекте

DevsHub создан для тех, кто делает первые шаги в разработке или уже имеет опыт и хочет развиваться дальше. Платформа объединяет инструменты для обучения, портфолио и поиска команды в одном месте.

  • Проекты — создавай красивое портфолио с помощью встроенного WYSIWYG-редактора или вдохновляйся проектами других участников
  • Карточки и колоды — учись с помощью интервального повторения или экспортируй материалы в Anki
  • Поиск — находи проекты, карточки и людей для обучения и совместной работы
  • Командная работа — объединяйся с другими разработчиками и создавай проекты вместе
  • Статистика — отслеживай прогресс обучения и делись достижениями на Codewars
  • API — интегрируй DevsHub в свои приложения и автоматизируй процессы

Функциональность

👤 Авторизация и профиль

  • Регистрация и вход через стандартный и кастомный бэкенд (email / password)
  • Авторизация на основе сессий (веб-интерфейс) и JWT-токенов (API)
  • Восстановление пароля через email
  • Аватарка профиля с автоматической генерацией миниатюр
  • Профиль пользователя со статистикой карточек, колод и проектов
  • Привязка аккаунта Codewars — статистика подтягивается через публичный API

🃏 Карточки

  • Создание собственных карточек
  • Сохранение понравившихся карточек других пользователей
  • Экспорт карточек для импорта в Anki

📚 Колоды

  • Создание колод из своих и сохранённых карточек
  • Сохранение чужих колод
  • Изучение колод с алгоритмом интервального повторения SM-2
  • Экспорт целых колод для импорта в Anki

🗂️ Проекты

  • Добавление проектов с названием, описанием, обложкой и галереей изображений
  • WYSIWYG-редактор для описания проектов

🔍 Поиск и сортировка

  • Поиск и сортировка карточек, колод, проектов и пользователей

🔌 API

  • RESTful API на базе Django REST Framework
  • Версионирование API (текущая версия: v1)
  • Аутентификация через JWT-токены

Примеры эндпоинтов:

Метод Endpoint Описание
GET api/v1/cards/ Список карточек
POST api/v1/cards/ Создание карточки (question, answer)
GET api/v1/cards/{card_id}/ Получение карточки
GET api/v1/cards/{card_id}/export/ Экспорт карточки
POST api/v1/cards/{card_id}/toggle_save/ Сохранить / убрать карточку

Стек технологий

Категория Технологии
Backend Python, Django, Django REST Framework
Frontend npm, TailwindCSS (адаптивный дизайн)
База данных PostgreSQL
Очереди и кэш Celery, Celery Beat, RabbitMQ, Redis
Инфраструктура Docker, Docker Compose, Gunicorn, Nginx
Тесты UnitTest

Запуск проекта

Требования

Убедитесь, что на вашей машине установлен Docker с поддержкой Docker Compose. Проверить можно командой:

docker compose version

Установка

1. Склонируйте репозиторий

git clone https://github.com/romanovsqd/devs-hub-python-django.git
cd devs-hub-python-django/

2. Настройте переменные окружения

cp devshub_project/.env.example devshub_project/.env

Откройте файл .env и заполните необходимые значения. По-умолчанию указаны тестовые значения, можете запустить проект с ними.

3. Соберите образы и запустите контейнеры

docker compose up --build

4. Примените миграции и соберите статику

После того как все контейнеры поднялись, выполните в отдельном терминале:

docker exec -it devshub-app python manage.py migrate
docker exec -it devshub-app python manage.py collectstatic --no-input

5. Для локальной разработки установите зависимости

cd devshub_project
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
npm install

запустите Tailwind CSS CLI для сборки CSS.

npx @tailwindcss/cli -i ./static/src/input.css -o ./static/css/main.css --watch

6. Готово

Откройте http://127.0.0.1 в браузере.


Контакты

Если есть вопросы или предложения — буду рад обратной связи.

Telegram: @romanovsqd e-mail: romanovsqd@gmail.com

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors