working-demo.mp4
- Real-time notifications and data polling with Websockets (Socket.io)
- Users can continue to make guesses even they close and reopen their browsers, even more server is restarted, unless they clean their
cookiescookies are deprecated since S3 with CloudFront distribution does not support cookies, now we use LocalStorage with bearer tokens. - Loginless persisted data with
cookiesLocalStorage - Custom managers/handlers with Singleton Design Pattern
- Strong type-safety achieved via Pydantic
- Modular Design Pattern
- Session/SocketID management to publishing custom messages per user
- High-level usage of asyncio features, fully async code
- Schedule mechanisms
- Coincap API
- MongoDB
- Dockerized
- AWS Services used for deployment, CI/CD with GitHub Actions
- Lightsail Container Service used for distribution and deployment, Domain/DNS management achieved via GoDaddy
$ git clone
$ cd btc-server
$ pip install virtualenv
$ virtualenv venv
$ source venv/bin/activate
$ pip install -r requirements.txt
$ uvicorn main:app --reload