A tiny social network demo built with FastAPI and React+RxJs, featuring chat, posts, friend requests, and notifications.
Bunnybook is a demo social network application built to experiment with full-stack web development technologies. It implements features like real-time chat, friend networks, posts, and notifications using a modern stack including FastAPI, React, and multiple databases. The project serves as a hands-on learning tool for scalable backend patterns and reactive frontend state management.
Developers and engineers interested in exploring full-stack architecture, real-time systems, graph databases, and dependency injection in Python and JavaScript. It's particularly useful for those building educational projects or prototyping social features.
Bunnybook offers a complete, open-source reference implementation of a social network with detailed architectural insights. Unlike generic tutorials, it demonstrates practical integration of diverse technologies like Neo4j for relationships, Redis for caching, and RxJs for frontend state, all documented with design rationale.
A tiny social network (for bunnies), built with FastAPI and React+RxJs
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates FastAPI, React, Neo4j, Redis, and Socket.IO, providing hands-on experience with modern web technologies as outlined in the README.
Implements live chat, notifications, and friend status updates using websockets and Redis caching, demonstrating practical real-time data handling.
Uses dependency injection, anemic domain models with Pydantic, and RxJs for state management, offering insights into scalable design patterns.
Includes Docker Compose configuration for easy local setup and testing, simplifying development and deployment processes.
The README explicitly states it lacks complete testing, has scaling issues, and is not responsive, making it unsuitable for real-world use.
Access tokens are stored in localStorage, exposing them to XSS attacks, with a known fix (moving to secure cookies) not yet implemented.
Requires managing multiple services (PostgreSQL, Neo4j, Redis) and manual steps for development, which can be cumbersome and time-consuming.
Admits to messy frontend code, especially in chat components, and has open issues like incomplete features (e.g., 'Likes' not implemented).