Привет! Меня зовут Даниил. Я - full-stack разработчик. Мой GitHub
Здесь можно познакомиться с моими учебными проектами. У каждого проекта есть подробное описание и ссылка на исходники
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
Telegram бот для общения с ChatGPT, поддерживает голосовые сообщения. Для написания бота решил использовать Telegraf.js
+ TypeScript
. Бот написан с использованием слоистой архитектуры. Для удобной инъекции зависимостей использовал InversifyJS
. Создал Dockerfile и написал make-скрипты для удобного запуска на сервере
Ссылка на GitHub: https://github.com/DaniilSintsov/your-ai-helper-bot/
Тестовое задание в компанию Result School. Нужно было сверстать адаптивную страницу на React
+ Tailwind CSS
по макету и реализовать параллакс-эффект сцены. Тестовое задание я сдал, но отбор не прошел, т.к. верстка была не pixel perfect. Через некоторое время я немного переписал код, чтобы он соответствовал требованиям задания.
Ссылка на GitHub: https://github.com/DaniilSintsov/result-test