Привет! Меня зовут Даниил. Я - full-stack разработчик. Мой GitHub

Здесь можно познакомиться с моими учебными проектами. У каждого проекта есть подробное описание и ссылка на исходники

YouReader

Full stack приложение для чтения PDF книг онлайн с синхронизацией на разных устройствах.

Backend решил писать на Nest.js + TypeScript с использованием GraphQL для API. Добавил JWT авторизацию с access и refresh токенами. Некоторые запросы к API доступны только для авторизованных пользователей. Базу данных выбрал MongoDB. PDF файлы пользователя загружаются в Yandex Object Storage (S3 хранилище). Поработал с обработкой ошибок, валидацией и пагинацией.

Frontend написан на Next.js 14 с использованием архитектуры Feature-Sliced Design. Научился работать с client и server компонентами. Для работы с GraphQl использовал graphql-request, написал свои интерцепторы для проверки авторизации. Сделал динамическую пагинацию для списка загруженных книг. Для работы с PDF файлами выбрал библиотеку react-pdf. Пользовательский интерфейс написал на Material UI. Оптимизировал приложение, избавился от лишних ререндеров.

Ссылка на GitHub - frontend: https://github.com/DaniilSintsov/you-reader-frontend

Ссылка на GitHub - backend: https://github.com/DaniilSintsov/you-reader-backend

Your AI helper telegram bot

Telegram бот для общения с ChatGPT, поддерживает голосовые сообщения. Для написания бота решил использовать Telegraf.js + TypeScript. Бот написан с использованием слоистой архитектуры. Для удобной инъекции зависимостей использовал InversifyJS. Создал Dockerfile и написал make-скрипты для удобного запуска на сервере

Ссылка на GitHub: https://github.com/DaniilSintsov/your-ai-helper-bot/

Result test task

Тестовое задание в компанию Result School. Нужно было сверстать адаптивную страницу на React + Tailwind CSS по макету и реализовать параллакс-эффект сцены. Тестовое задание я сдал, но отбор не прошел, т.к. верстка была не pixel perfect. Через некоторое время я немного переписал код, чтобы он соответствовал требованиям задания.

Result School test task

Ссылка на GitHub: https://github.com/DaniilSintsov/result-test