github.com/dryad/utensil

An animated time-lapse of how dryad/utensil was built, commit by commit.

Open this visualization on its own page →

Contributors

4

Lines of Code

135,103

From

2021-07-24

To

2022-04-17

About dryad/utensil

Utensil is a TypeScript project that provides deployment automation and documentation for a React-Django todo application. The project includes comprehensive guides for setting up, developing, and deploying a full-stack web application that combines a React frontend with a Django backend.

The project serves multiple deployment scenarios. It includes detailed instructions for local development setup where React and Django run concurrently, initial DigitalOcean server configuration using Django 3.2 LTS with PostgreSQL, and a Heroku deployment pipeline. The DigitalOcean deployment process involves setting up nginx and gunicorn servers, managing git branches (main and production) with merge conflict resolution, and coordinating updates between the main utensil repository and its companion vis-network visualization library. For Heroku deployments, the documentation covers buildpack configuration for both Node.js and Python, database migration from SQLite to PostgreSQL, static file serving with WhiteNoise, CSRF token handling between separated frontend and backend services, and environment variable configuration.

The target audience includes developers deploying React-Django applications to various platforms. The technology stack includes React 17 with axios for HTTP requests, Bootstrap and reactstrap for styling on the frontend, and Django 3.1 with Django REST Framework and django-cors-headers on the backend. The documentation addresses common deployment challenges including MIME type issues, CORS configuration, SSL requirements, and database synchronization, making it a practical reference for developers handling full-stack JavaScript and Python deployments.

Share this video