Rust React Typescript Demo

screenshot of Rust React Typescript Demo
react

Demo for Rust, React, Typescript, Docker, Terraform and Kubernetes

Overview:

The Node.js CI Rustrust-react-typescript-demo repository contains demo code for a YouTube programming learning series that focuses on Rust, React, TypeScript, Docker, Terraform, and Kubernetes. The project, called foodi, is a meal logging tool. This repository serves as an example and can be used as a starting point for other projects. The development process for this project is documented in the accompanying YouTube videos.

Features:

  • Rust, Rocket, & SQLx based backend
  • React, Mobx, and TypeScript based frontend
  • Parcel for frontend packaging
  • Docker image with frontend & backend all-in-one
  • Terraform for managing a GKE cluster on GCP
  • Kubernetes manifest for running on GKE

Compiling the Rust Backend Server:

  1. Install the Rust nightly build with rustup by going to https://rustup.rs/ and following the installation instructions.
  2. Once the nightly build is installed, build the backend by running the appropriate command.

Run the Database Migration Scripts:

  1. To create the initial database schema, run the migration scripts using sqlx.

Build the Backend Server:

  1. Finally, run the backend server.

Running the Frontend Server:

  1. Install a recent version of Node.js and Yarn, if not already installed.
  2. Install the frontend package dependencies using Yarn.
  3. Use parcel to run the frontend development server.

Build and Run the Docker Image:

  1. Make sure Docker is installed.
  2. Build the Docker image by running the build command.
  3. Once the build is complete, run the container and map the appropriate ports.

Summary:

The Node.js CI Rustrust-react-typescript-demo repository provides a demo codebase for a YouTube programming learning series that focuses on Rust, React, TypeScript, Docker, Terraform, and Kubernetes. The codebase includes a backend server built with Rust, Rocket, and SQLx, and a frontend built with React, Mobx, and TypeScript. The frontend is packaged using Parcel, and the entire project can be run using a Docker image. The repository also provides instructions on how to set up and run the backend, frontend, and Docker image.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.