Giter Club home page Giter Club logo

codealongzerotoproductionrust's Introduction

Code along Zero to Production

This repository contains a basic Rust application that serves a newsletter mailing list. The code is to learn from the book "Zero to Production" for the programming list Rust.

How to use

Start the app with

cargo run

Then send a request to the health endpoint

curl -v http://127.0.0.1:8000/health_check

Tooling

cargo-watch

Monitors source code to trigger commands every time a file changes.

install:

cargo install cargo-watch
cargo watch -x check -x test -x run

cargo-edit

This tool extends Cargo to allow you to add, remove, and upgrade dependencies by modifying your Cargo.toml file from the command line.

install:

cargo install cargo-edit
cargo add
cargo rm
cargo upgrade
cargo set-version

Code Coverage

The author is recommending 'cargo-tarpaulin'.

install:

cargo install cargo-tarpaulin
cargo tarpaulin --ignore-tests

Linting

Code linting is done by clippy.

rustup component add clippy

Use locally with

cargo clippy

In the CI pipeline the next command will let clippy fail if it finds something

cargo clippy -- -D warnings

Formatting

The author recommends to use rustfmt to format the code.

rustup component add rustfmt

You can format your whole project with

cargo fmt 

In our CI pipeline we will add a formatting step

cargo fmt -- --check 

It will fail when a commit contains unformatted code, printing the difference to the console

Security Scanner

The book recommends to use cargo-audit.

cargo install cargo-audit

Use like this

cargo audit

codealongzerotoproductionrust's People

Contributors

diesdasjenes avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.