{"id":26047771,"url":"https://github.com/fanepka/memeapp-backend","last_synced_at":"2026-04-13T04:02:38.593Z","repository":{"id":281157854,"uuid":"944386621","full_name":"Fanepka/MemeApp-Backend","owner":"Fanepka","description":"Backend for the MemeApp application","archived":false,"fork":false,"pushed_at":"2025-03-07T09:34:02.000Z","size":72,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-07T10:22:23.749Z","etag":null,"topics":["fastapi","postgresql","pydantic","python","python3","sqlite","website"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Fanepka.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-07T09:02:35.000Z","updated_at":"2025-03-07T09:36:01.000Z","dependencies_parsed_at":"2025-03-07T10:22:27.369Z","dependency_job_id":"695832ac-9542-4e69-92e4-9cbeb58102a3","html_url":"https://github.com/Fanepka/MemeApp-Backend","commit_stats":null,"previous_names":["fanepka/memeapp-backend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fanepka%2FMemeApp-Backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fanepka%2FMemeApp-Backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fanepka%2FMemeApp-Backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fanepka%2FMemeApp-Backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fanepka","download_url":"https://codeload.github.com/Fanepka/MemeApp-Backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242473054,"owners_count":20134021,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","postgresql","pydantic","python","python3","sqlite","website"],"created_at":"2025-03-07T23:13:49.436Z","updated_at":"2025-12-31T00:46:53.948Z","avatar_url":"https://github.com/Fanepka.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# 🎭 Meme App (Backend) 🚀\n\n![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white)\n![FastAPI](https://img.shields.io/badge/FastAPI-009688?style=for-the-badge\u0026logo=fastapi\u0026logoColor=white)\n![SQLite](https://img.shields.io/badge/SQLite-07405E?style=for-the-badge\u0026logo=sqlite\u0026logoColor=white)\n![PostgreSQL](https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white)\n\nЭто серверная часть приложения для обмена мемами и фотографиями. Проект написан на Python с использованием FastAPI и SQLite3. В будущем планируется переход на PostgreSQL для улучшения производительности и масштабируемости. 🛠️\n\n---\n\n## 📚 Оглавление\n\n1. [Описание](#-описание)\n2. [Технологии](#-технологии)\n3. [Установка и запуск](#-установка-и-запуск)\n4. [API Endpoints](#-api-endpoints)\n5. [Структура проекта](#-структура-проекта)\n6. [Лицензия](#-лицензия)\n\n---\n\n## 📝 Описание\n\nПроект представляет собой REST API для приложения, где пользователи могут:\n- 📝 Регистрироваться и авторизоваться.\n- 🖼️ Создавать посты с текстом и изображениями.\n- ❤️ Лайкать и комментировать посты.\n- � Создавать сообщества и присоединяться к ним.\n- 🔔 Получать уведомления о новых событиях.\n\n---\n\n## 🛠️ Технологии\n\n- **Python** 🐍 — основной язык программирования.\n- **FastAPI** ⚡ — фреймворк для создания API.\n- **SQLite3** 🗄️ — временная база данных для хранения информации (в будущем будет заменена на PostgreSQL).\n- **SQLAlchemy** 🔧 — ORM для работы с базой данных.\n- **Pydantic** 📄 — валидация данных.\n- **JWT** 🔐 — аутентификация пользователей.\n\n---\n\n## 🚀 Установка и запуск\n\n### 1. Клонируй репозиторий\n\n```bash\ngit clone https://github.com/Fanepka/meme-app-backend.git\ncd meme-app-backend\n```\n\n### 2. Установи зависимости\n\nУбедись, что у тебя установлен Python 3.8 или выше. Затем установи зависимости:\n\n```bash\npip install -r requirements.txt\n```\n\n### 3. Настрой базу данных\n\nSQLite3 автоматически создаст файл базы данных `meme_app.db` при первом запуске сервера. В будущем планируется переход на PostgreSQL для улучшения производительности и масштабируемости. 🚀\n\n### 4. Запусти сервер\n\n```bash\nuvicorn main:app --reload\n```\n\nСервер будет доступен по адресу: [http://127.0.0.1:8000](http://127.0.0.1:8000). 🌐\n\n---\n\n## 📡 API Endpoints\n\n### 🔐 Аутентификация\n\n- **POST /auth/register** — регистрация нового пользователя.\n- **POST /auth/login** — вход и получение токена.\n- **POST /auth/refresh-token** — обновление токена.\n- **POST /auth/logout** — выход из системы.\n\n### 👤 Пользователи\n\n- **GET /users/me** — информация о текущем пользователе.\n\n### 📄 Посты\n\n- **GET /posts** — список всех постов.\n- **POST /posts** — создание нового поста.\n- **POST /posts/{post_id}/like** — лайк поста.\n- **POST /posts/{post_id}/comment** — добавление комментария.\n\n### � Сообщества\n\n- **GET /communities** — список всех сообществ.\n- **POST /communities** — создание нового сообщества.\n- **POST /communities/{community_id}/join** — присоединение к сообществу.\n\n### 🔔 Уведомления\n\n- **GET /notifications** — список уведомлений для текущего пользователя.\n\n---\n\n## 🗂️ Структура проекта\n\n```\nmeme-app-backend/\n├── .env\n├── main.py\n├── models.py\n├── schemas.py\n├── crud.py\n├── database.py\n├── auth.py\n├── requirements.txt\n└── README.md\n```\n\n- **main.py** — точка входа в приложение.\n- **models.py** — модели базы данных.\n- **schemas.py** — схемы для валидации данных.\n- **crud.py** — функции для работы с базой данных.\n- **database.py** — настройка подключения к базе данных.\n- **auth.py** — логика аутентификации.\n- **requirements.txt** — список зависимостей.\n\n---\n\n## 📜 Лицензия\n\nЭтот проект распространяется под лицензией MIT. Подробности см. в файле [LICENSE](LICENSE). 📄","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffanepka%2Fmemeapp-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffanepka%2Fmemeapp-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffanepka%2Fmemeapp-backend/lists"}