Проект представляет собой backend-сервис для хранения и обмена пастами по ссылке, упрощённый аналог Pastebin. Данный проект писался мною как первый тестовый проект, чтобы разобраться с структурой FastAPI-приложений, а также знакомству с другими библиотеками.
- Создание паст
- Получение пасты по уникальной slug-ссылке
- Автоматическая генерация короткой ссылки
- Подсчёт количества просмотров
- Анонимный доступ без регистрации и авторизации (в будущем планируется добавление регистрации)
- Python 3
- FastAPI
- SQLite
- SQLAlchemy
- Pydantic
POST /pastes
Body:
{
"title": "Название",
"content": "Текст пасты"
}Body:
{
"slug": "Ab3x9k"
}GET /p/{slug}
Body:
{
"title": "Название",
"content": "Текст пасты",
"views": 3
}git clone url
cd pastez
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt
uvicorn app.main:app --reload
app/
├── main.py # точка входа
├── models.py # модели БД
├── schemas.py # Pydantic схемы
├── crud.py # работа с БД
├── database.py # подключение к SQLite
└── routers/
├──auth.py # пустой файл, авторизация появится в будущем
└── pastes.py # API эндпоинты
- Авторизация пользователей
- Просмотр своих паст
- Удаление своих паст
- Время жизни паст
- Приватные пасты
- FrontEnd
- Docker-развёртывание