Skip to content

belyashnikovatn/FastNotes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📝 FastNotes

FastNotes — это RESTful API-сервис для управления заметками, реализованный с использованием асинхронного стека. Проект поддерживает операции CRUD для работы с заметками и покрыт тестами.

🚀 Стек технологий

Компонент Технология
Backend FastAPI
ORM SQLAlchemy (async)
База данных PostgreSQL (через Databases)
Тестирование Pytest + HTTPX
Документация Автоматическая через FastAPI /docs
Контейнеризация Docker + Docker Compose

🧪 Тестирование

Проект покрыт юнит-тестами с использованием:

  • pytest — основной тестовый фреймворк.
  • monkeypatch

📌 Примеры тестов:

def test_create_note_success(test_app, monkeypatch):
    async def mock_post(payload):
        return { "id": 1, "title": payload["title"], "description": payload["description"], "created_at": "..." }
    monkeypatch.setattr(crud, "post", mock_post)
    response = test_app.post("/notes", json={"title": "Test", "description": "..."})
    assert response.status_code == 201

🐳 Быстрый старт (через Docker)

  1. Клонируйте репозиторий:
git clone https://github.com/belyashnikovatn/FastNotes.git
cd FastNotes
  1. Запустите контейнеры:
docker-compose up --build
  1. Откройте документацию:
  1. Запустите тесты:
docker compose exec web pytest .

About

Сервис для создания и управления заметками.

Topics

Resources

Stars

Watchers

Forks