About Mycoll
overview
MyColl is a web app for cataloging your media collection. With MyColl you can search The Movie Database API to effortlessly add movies to your collection, then record any copies you may own along with their format and platform details. Now you'll know if your copy of Michael Chrichton's 1998 aquatic-horror thriller, Sphere, is a DVD sitting at home on your shelf, a VOD on a service like Amazon's Prime Video, or both!
Deployed Site: https://mycoll.skybur.io/
GitHub Repos: https://github.com/mycoll-org/
Tools: django
, pipenv
, nginx
, docker-compose
, node
, react
, postgresql
, gunicorn
, certbot
, sass
Services: DigitalOcean Droplets, Google Domains
documentation
apis and models
Production API: PostmanDevelopment API: Postman
Entity Relationship Diagram: Lucidchart
fullstack diagram
challenges and successes
Deploying frontend and backend services on a DigitalOcean Droplet running Ubuntu 18.04 |
Managing a custom domain from Google Domains and utilizing Let's Encrypt's Certbot to obtain SSL certificates |
Configuring Nginx to serve both the frontend and backend services from the same host, and enforcing HTTPS on incoming requests |
Creating a Gunicorn socket to bind to the backend server so Nginx can proxy pass to Gunicorn for database requests |
Building a backend API server in Django that handles authorization and requests for media data using an integration with The Movie Database |
Composing a responsive web design using React components without an external styling library or framework |
Implementing authorization with JSON web tokens being passed between a React frontend and Django backend |