Skip to content

farikkm/Notability

Repository files navigation

# Note-taking App

Это приложение для заметок с использованием Node.js, MongoDB и JWT для авторизации. Приложение организовано по структуре FSD (Feature-Sliced Design), что позволяет легко расширять и масштабировать проект. Для дизайна использован компонентный фреймворк Ant Design (antd), который помогает создать приятный и удобный интерфейс.

## Структура проекта

Проект использует структуру FSD (Feature-Sliced Design), которая позволяет организовать код вокруг функций, а не только по типам файлов. Это улучшает поддержку и развитие приложения, делает код более читаемым и удобным для работы в команде.

### Структура каталогов

- `src/`
  - `features/` — содержит функциональные блоки приложения (например, авторизация, создание и редактирование заметок).
  - `shared/` — общие утилиты, компоненты и модули, используемые в нескольких местах приложения (например, компоненты UI из antd, API).
  - `app/` — основные компоненты приложения, такие как маршруты и настройка состояния.

## Технологии

- **Node.js** — серверная часть приложения.
- **Express.js** — фреймворк для создания API.
- **React** — фреймворк для удобного создания приложений.
- **TypeScript** — для типизации.
- **Zustand** — стейт-менеджер для управления состонием с любой точки приложения.
- **MongoDB** — база данных для хранения заметок.
- **JWT** — механизм авторизации через JSON Web Token.
- **Ant Design (antd)** — библиотека компонентов для удобного и стильного интерфейса.
- **Mongoose** — ODM для работы с MongoDB.
- **dotenv** — для работы с переменными окружения.

## Установка

1. Клонируйте репозиторий:

   ```bash
   git clone https://github.com/yourusername/note-taking-app.git
  1. Установите зависимости:

    Для серверной части:

    cd server
    npm install
  2. Создайте файл .env в папке с сервером и добавьте ваши настройки:

    JWT_SECRET=your_secret_key
    MONGO_URI=your_mongo_database_uri
    PORT=5000
  3. Запустите сервер:

    npm start

Авторизация

Приложение поддерживает авторизацию с помощью JWT токенов. После успешного логина пользователю выдается JWT токен, который используется для аутентификации в приложении.

Эндпоинты для авторизации:

  • POST /auth/login — логин пользователя. Возвращает JWT токен.
  • POST /auth/register — регистрация нового пользователя.

Использование

После запуска серверной части приложения вы можете взаимодействовать с фронтендом, который использует Ant Design для отображения интерфейса:

  • Добавление, редактирование и удаление заметок.
  • Авторизация через JWT.
  • Просмотр всех заметок.

Лицензия

Этот проект распространяется под лицензией MIT.

About

An application with fully authorization system that allows users to create Notes

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors