Source code and documentation for our 'full stack on rust' meetup on 29-9-2022

Overview

Full stack on Rust

This is the code and documentation repository for our 'Full stack on Rust' meetup on 29-9-2022. It includes step-by-step documentation on how to set up a full rust stack for both backend and front-end applications, along with source code.

We'll be creating a complete to-do platform. Backend, front-end, and desktop application, while relying fully on Rust. Here's our current list of requirements:

  • Backend
    • HTTP protocol handling
    • Asynchronous request handling
    • Implement the REST API specification (GET, POST, PUT, DELETE)
    • JSON serialization
    • ORM tooling for connecting to the database
    • Open API v3 spec / including swagger-ui.
    • Containerizing our API
  • web-app
    • t.b.d.
  • desktop-app
    • t.b.d.
  1. Workspaces
  2. Backend webserver
    1. Pick your weapon
    2. Adding actix web to our project
    3. Hello world
    4. Testing our webserver
  3. Rest API
    1. Implementing all Rest methods
    2. Registering the controller methods
    3. Testing our endpoints
  4. JSON Serialization
  5. ORM
    1. Diesel
    2. Adding tables to the database
    3. Query todo items
    4. Connection pooling
    5. Repository pattern
    6. Using the repository
    7. Testing our API
    8. Automatically apply pending Migrations
  6. Open API Spec
    1. Including our public models to the Open API V3 spec
    2. Including information about our endpoints
    3. Configure open api
  7. Containerization
    1. Choosing the right image
    2. Embedding openssl to our artifact
    3. Creating the dockerfile
    4. Composing it all together
    5. Ready to go
You might also like...
Download Apple's open source code from opensource.apple.com

Apple Open Source Downloader This repository defines a Rust crate and CLI program to automate the downloading of Apple's open source code from https:/

The source code of SSPŠ KB discord bot

Workshop bot This repository contains the source code of SSPŠ KB discord bot. Deploying This project is automatically built and deployed with docker,

Symbolically Executable Stack Machines in Rust

Symbolically Executable Stack Machines in Rust Symbolic Stack Machines is a library for implementing symbolically executable stack-based virtual machi

Ruxnasm is an assembler for Uxntal — a programming language for the Uxn stack-machine by Hundred Rabbits

Ruxnasm is an assembler for Uxntal — a programming language for the Uxn stack-machine by Hundred Rabbits. Ruxnasm strives to be an alternative to Uxnasm, featuring more user-friendly error reporting, warnings, and helpful hints, reminiscent of those seen in modern compilers for languages such as Rust or Elm.

The language that eats the stack. Heavily inspired by porth which is inspired off of forth

Snack The language that eats the stack. Heavily inspired by porth which is inspired off of forth Install To use Snack you will need Rust and fasm Afte

A toy-level BLE peripheral stack

bleps - A toy-level BLE peripheral stack This is a BLE peripheral stack in Rust. (no-std / no-alloc) To use it you need an implementation of embedded-

A CLI tool to convet Hex color code or RGB to color code, RGB, HSL and color name(if exists)
A CLI tool to convet Hex color code or RGB to color code, RGB, HSL and color name(if exists)

iro -色- A CLI tool to convert the hex color code or RGB to color code, RGB, HSL, color name(if exists, according to jonathantneal/color-names). Usage

unFlow is a Design as Code implementation, a DSL for UX & backend modeling. DSL to Sketch file, Sketch to DSL, DSL to code.

unflow 是一个低代码、无代码设计语言。unFlow is a Design as Code implementation, a DSL for UX & backend modeling. DSL to Sketch file, Sketch to DSL, DSL to code.

MeiliSearch is a powerful, fast, open-source, easy to use and deploy search engine
MeiliSearch is a powerful, fast, open-source, easy to use and deploy search engine

MeiliSearch is a powerful, fast, open-source, easy to use and deploy search engine. Both searching and indexing are highly customizable. Features such as typo-tolerance, filters, and synonyms are provided out-of-the-box. For more information about features go to our documentation.

Owner
Baseflow
Engineering the Future of Software development. Together with exceptional people, strategy, and design, we create software for every challenge.
Baseflow
This is a public snapshot of Fly's init code. It powers every Firecracker microvm we run for our users.

Fly Init This is a public snapshot of Fly's init code. It powers every Firecracker microvm we run for our users. It is Rust-based and we thought makin

fly.io 186 Dec 30, 2022
Open Source Application Stack & PaaS

mycelia Open Source Application Stack & PaaS Installation cargo xtask build NOTE: We opted for cargo-xtask because Cargo build.rs is not supported for

Mycelia 3 Sep 6, 2023
Frame is a markdown language for creating state machines (automata) in 7 programming languages as well as generating UML documentation.

Frame Language Transpiler v0.5.1 Hi! So very glad you are interested in Frame. Frame system design markdown language for software architects and engin

Mark Truluck 35 Dec 31, 2022
A realtime flight tracking program for our Software Engineering 300 class at ERAU

Flight Tracking ERAU SE300 Description Software that allows for weather and plane tracking to facilitate the user in looking at plane paths. Many peop

null 18 Sep 29, 2022
Fixing Discord shortcomings (for our internal server) with Chuckle

About Chuckle is our in-house Discord bot for our internal company server. We weren't a huge fan of Slack and, most of our target demographic uses Dis

Truffle 17 Aug 18, 2023
Pbot - pan93412's extensible userbot, which is full-documented, enginnered and based on Actor model.

pbot pan93412's extensible user bot, which is full-documented, engineered and based on Actor model. Usage Run cargo run --release [--features <modules

pan93412 4 Feb 28, 2022
rFmt ---- Rust source code formatter

rfmt is a Rust source code formatter. Yes, there is already an official tool rustfmt from Rust Nursery.

baitu 25 Jan 11, 2022
A repository full of manually generated hand curated JSON files, which contain the API Types that the Discord API returns.

Discord API Types A repository full of manually generated hand curated JSON files, which contain the API Types that the Discord API returns. Also did

Unofficial Discord Documentation 1 Sep 16, 2022
Source code for the Telegram channel @pixiv_daily

PixivDaily (Rust) This repository contains the source code of the program running the Telegram channel @pixiv_daily. Usage First, you'll need to clone

K4YT3X 5 Jun 23, 2022
ttasm is an assembler for assembling source code to TTVM executable.

ttasm is an assembler for assembling source code to TTVM executable.

maDeveloper 1 Nov 8, 2021