Skip to content

Nadezhda-97/to-do-list

Repository files navigation

Мультиязычный ToDo-лист на Next.js

Это простое и удобное 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() для избежания конфликтов между сервером и клиентом.

  • Кастомная валидация ввода задачи.

  • Подсчёт символов с цветовой индикацией (зелёный → оранжевый → красный).

📦 Установка и запуск

1. Клонирование репозитория

git clone git@github.com:Nadezhda-97/to-do-list.git
cd my-app

2. Установка зависимостей

npm install

3. Локальный запуск

npm run dev

Приложение будет доступно по адресу: http://localhost:3000

4. Сборка для продакшена

npm run build
npm run start

🌐 Демо

Открыть демо

About

ToDo-приложение с мультиязычной поддержкой, созданное на Next.js 13+ и TypeScript. Задачи хранятся локально, интерфейс адаптивный и интуитивный

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors