A tiny social network built with FastAPI and React+RxJs

A tiny social network (for bunnies), built with FastAPI and React+RxJs.

Included features:
- :speech_balloon: chat
- :red_circle: online/offline friends status
- :abcd: “Is typing…” indicator
- :two_men_holding_hands: friend requests and suggestions
- :bell: notifications
- :postbox: posts
- :pencil: comments
- :scroll: conversations history
- :rabbit2: random profile picture generation
- :lock: authentication
Tech stack:
- :snake: Python 3.8 + FastAPI
- :notebook_with_decorative_cover: PostgreSQL 13 + async SQLAlchemy (Core) + asyncpg driver
- :link: Neo4j graph db for relationships between users and fast queries
- :dart: Redis for caching and Pub/Sub
- :zap: Socket.IO for chat and notifications
- :key: Jwt + refresh tokens rotation for authentication
- :whale: Docker + docker-compose to ease deployment and development
Feel free to contact me on LinkedIn for ideas, discussions and opportunities :slightly_smiling_face: https://www.linkedin.com/in/pietro-bassi/
Scope of the project
What Bunnybook is: I created Bunnybook to have the opportunity to experiment with some technologies I wasn’t familiar with (e.g. Neo4j). I love learning