{"repo":"notarious2/fastapi-chat","free":true,"listed":false,"github":"https://github.com/notarious2/fastapi-chat","clone":"git clone https://github.com/notarious2/fastapi-chat.git","description":"Real-time chat with FastAPI, Websockets and SQLAlchemy2","language":"Python","stars":125,"topics":["asyncpg","chat-application","fastapi","fastapi-sqlalchemy","postgresql","pubsub","pydantic-v2","real-time","redis-cache","redis-pubsub"],"license":"MIT","category":"chat-messaging","readme_excerpt":"NOTICE I could no longer maintain custom domain, please use https://vuetify-chat.vercel.app/ to see the demo Real-time Chat App with FastAPI Live Demo: https://vuetify-chat.vercel.app/ Swagger UI: https://fastapi-chat-2bfa6dd112d2.herokuapp.com/docs Admin: https://fastapi-chat-2bfa6dd112d2.herokuapp.com/admin/ (login: bekzod , password: bekzod ) Frontend with Vue 3 and Vuetify 3, see repo Tech Stack: - FastAPI, Websockets, Pydantic 2 - Postgres (asyncpg), async Redis (PubSub and Cache) - SQLAlchemy 2 - Database migrations with Alembic - Poetry for dependency management, containerization with Docker/docker-compose - Linting and Formatting with Ruff High level functionality description - Fully asynchronous: FastAPI, Postgres, Redis - JWT HTTP-only cookies authentication (access, refresh tokens) - Horizontal Scalability with Redis PubSub - Rate Limiting (Throttling) - FastAPI background tasks: - uploading photos to cloud - updating non-essential info - Message status confirmation: sending, sent and read - Read status tracking with one field per user per chat (last read message) instead of tracking individual message read status - User status tracking: online, inactive and offline - User is typing tracking - Google Oauth2 authentication: - Frontend retrieves access token - Backend verifies and gets user data - Store files in AWS S3 bucket in production and StaticFiles in local development - Modern Admin panel with sqladmin Local Setup - Configure necessary variables in src/config","default_branch":null,"files":null,"tree":[],"storefront":"/r/notarious2","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/notarious2/fastapi-chat/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}