https://github.com/fanepka/memeapp-backend
Backend for the MemeApp application
https://github.com/fanepka/memeapp-backend
fastapi postgresql pydantic python python3 sqlite website
Last synced: 2 months ago
JSON representation
Backend for the MemeApp application
- Host: GitHub
- URL: https://github.com/fanepka/memeapp-backend
- Owner: Fanepka
- License: mit
- Created: 2025-03-07T09:02:35.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-07T09:34:02.000Z (over 1 year ago)
- Last Synced: 2025-03-07T10:22:23.749Z (over 1 year ago)
- Topics: fastapi, postgresql, pydantic, python, python3, sqlite, website
- Language: Python
- Homepage:
- Size: 70.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# 🎭 Meme App (Backend) 🚀




Это серверная часть приложения для обмена мемами и фотографиями. Проект написан на Python с использованием FastAPI и SQLite3. В будущем планируется переход на PostgreSQL для улучшения производительности и масштабируемости. 🛠️
---
## 📚 Оглавление
1. [Описание](#-описание)
2. [Технологии](#-технологии)
3. [Установка и запуск](#-установка-и-запуск)
4. [API Endpoints](#-api-endpoints)
5. [Структура проекта](#-структура-проекта)
6. [Лицензия](#-лицензия)
---
## 📝 Описание
Проект представляет собой REST API для приложения, где пользователи могут:
- 📝 Регистрироваться и авторизоваться.
- 🖼️ Создавать посты с текстом и изображениями.
- ❤️ Лайкать и комментировать посты.
- � Создавать сообщества и присоединяться к ним.
- 🔔 Получать уведомления о новых событиях.
---
## 🛠️ Технологии
- **Python** 🐍 — основной язык программирования.
- **FastAPI** ⚡ — фреймворк для создания API.
- **SQLite3** 🗄️ — временная база данных для хранения информации (в будущем будет заменена на PostgreSQL).
- **SQLAlchemy** 🔧 — ORM для работы с базой данных.
- **Pydantic** 📄 — валидация данных.
- **JWT** 🔐 — аутентификация пользователей.
---
## 🚀 Установка и запуск
### 1. Клонируй репозиторий
```bash
git clone https://github.com/Fanepka/meme-app-backend.git
cd meme-app-backend
```
### 2. Установи зависимости
Убедись, что у тебя установлен Python 3.8 или выше. Затем установи зависимости:
```bash
pip install -r requirements.txt
```
### 3. Настрой базу данных
SQLite3 автоматически создаст файл базы данных `meme_app.db` при первом запуске сервера. В будущем планируется переход на PostgreSQL для улучшения производительности и масштабируемости. 🚀
### 4. Запусти сервер
```bash
uvicorn main:app --reload
```
Сервер будет доступен по адресу: [http://127.0.0.1:8000](http://127.0.0.1:8000). 🌐
---
## 📡 API Endpoints
### 🔐 Аутентификация
- **POST /auth/register** — регистрация нового пользователя.
- **POST /auth/login** — вход и получение токена.
- **POST /auth/refresh-token** — обновление токена.
- **POST /auth/logout** — выход из системы.
### 👤 Пользователи
- **GET /users/me** — информация о текущем пользователе.
### 📄 Посты
- **GET /posts** — список всех постов.
- **POST /posts** — создание нового поста.
- **POST /posts/{post_id}/like** — лайк поста.
- **POST /posts/{post_id}/comment** — добавление комментария.
### � Сообщества
- **GET /communities** — список всех сообществ.
- **POST /communities** — создание нового сообщества.
- **POST /communities/{community_id}/join** — присоединение к сообществу.
### 🔔 Уведомления
- **GET /notifications** — список уведомлений для текущего пользователя.
---
## 🗂️ Структура проекта
```
meme-app-backend/
├── .env
├── main.py
├── models.py
├── schemas.py
├── crud.py
├── database.py
├── auth.py
├── requirements.txt
└── README.md
```
- **main.py** — точка входа в приложение.
- **models.py** — модели базы данных.
- **schemas.py** — схемы для валидации данных.
- **crud.py** — функции для работы с базой данных.
- **database.py** — настройка подключения к базе данных.
- **auth.py** — логика аутентификации.
- **requirements.txt** — список зависимостей.
---
## 📜 Лицензия
Этот проект распространяется под лицензией MIT. Подробности см. в файле [LICENSE](LICENSE). 📄