Это простое и удобное ToDo-приложение, разработанное с использованием Next.js 13+ и TypeScript. Основная особенность — поддержка трёх языков интерфейса: русского, английского и немецкого. Языки можно переключать в выпадающем меню, а переводы загружаются на сервере с использованием SSR (Server Side Rendering) через i18next.
Пользователь может:
- Добавлять новые задачи (максимум 300 символов).
- Удалять задачи.
- Отмечать задачи как выполненные.
- Редактировать существующие задачи.
- Переключать язык интерфейса в любой момент.
Задачи хранятся в localStorage, что позволяет сохранять список даже после перезагрузки страницы.
Интерфейс адаптивен и удобно работает как на компьютерах, так и на мобильных устройствах.
- Next.js 13+ (App Router)
- TypeScript
- React
- i18next + react-i18next
- SSR и динамическая маршрутизация
- Адаптивная вёрстка на CSS
- Хранение данных в localStorage
-
SSR-инициализация переводов (
getServerTranslation) вlayout.tsxиpage.tsx. -
Клиентские компоненты используют
useTranslation. -
Проверка типов переводов через
isTranslations. -
Генерация ID задач через
Math.random()для избежания конфликтов между сервером и клиентом. -
Кастомная валидация ввода задачи.
-
Подсчёт символов с цветовой индикацией (зелёный → оранжевый → красный).
git clone git@github.com:Nadezhda-97/to-do-list.git
cd my-app
npm install
npm run dev
Приложение будет доступно по адресу: http://localhost:3000
npm run build
npm run start