Quick Start

A collection of the commands to launch a project, no matter the tech stack, for your great ideas, eliminating the need to learn them again.

Chrome Extension

npx plasmo init <project_name>

Vite Project

pnpm create vite

VSCode Extension

npm i -g yo generator-code
yo code

Web Services in Rust

cargo generate --git https://github.com/miguoliang/actix-web-project-template.git --name your-project-name

Data Generator

cargo generate --git https://github.com/miguoliang/fake-data-generator-template.git --name your-project-name

Projects

This section lists some projects I built to learn new technologies and concepts. All of them are open-source and available on GitHub under the MIT license. Feel free to reference them, contribute to them, or use them as a starting point for your own projects. Some of them are still in development, so your feedback and suggestions are always welcome.

Tomato Timer CLI

in production

Tomato Timer CLI is a command-line tool designed to help you manage your time effectively using the Pomodoro Technique. With this tool, you can break your work into focused intervals called "pomodoros" and take short breaks in between. This technique helps improve productivity and maintain focus throughout your work sessions.

A Few Words

in development

A Few Words is a simple, lightweight, and easy-to-use notebook application for language learning. It is designed to help you pick up new words and phrases from webpages by one-click saving them to your notebook. The notebook can be a local storage by default, but you can also choose to sync it with your account on our cloud server. Besides, you can review all words you have saved in the notebook any time you want without leaving your browser even when you are offline.

Keycloak Admin Client for Golang

in development

Keycloak Admin Client is a simple, lightweight, and easy-to-use Keycloak Admin Client for a Golang application. It is designed to help you manage your Keycloak server by providing a SDK generated from the official Keycloak Admin REST API Specification. You can use it to create, update, and delete realms, clients, users, roles, and groups on your Keycloak server.

Resources

This section contains a list of resources that can be useful for learning more about the topics covered in this book. All of them are free and open-source, so feel free to explore them at your own pace.

Guidelines for Best Practices

  • The Twelve-Factor App: A methodology for building modern, scalable, and maintainable software-as-a-service applications.
  • Semantic Versioning: A specification for versioning software packages in a way that communicates the nature of changes to developers and users.
  • RESTful API Design: A guide to designing APIs that adhere to the principles of Representational State Transfer (REST).

Specifications and Protocols

  • OpenAPI Specification: A standard for defining RESTful APIs using a machine-readable format.
  • OAuth 2.0: An authorization framework that enables third-party applications to access user data without exposing user credentials.
  • JSON Web Tokens: A compact, URL-safe means of representing claims to be transferred between two parties.

Rust Ecosystem

  • Rust: A systems programming language that focuses on safety, speed, and concurrency.
  • The Rustonomicon: The unofficial guide to all the dark corners of the Rust programming language.
  • Actix Web: A powerful, pragmatic, and extremely fast web framework for Rust.
  • Diesel: A safe, extensible ORM and query builder for Rust that supports PostgreSQL, MySQL, and SQLite.
  • SQLx: An asynchronous, pure Rust SQL toolkit that supports PostgreSQL, MySQL, and SQLite.
  • Blessed.rs: A guide to the Rust ecosystem for choosing the right crates for your projects.

Tools and Libraries

  • DaisyUI: A collection of utility classes for Tailwind CSS that can help you build beautiful user interfaces.
  • Tailwind CSS: A utility-first CSS framework for rapidly building custom designs without writing any CSS.
  • Vite: A next-generation frontend build tool that provides a lightning-fast development experience.
  • Yarn: A package manager that aims to be fast, reliable, and secure when installing dependencies.
  • pnpm: A package manager that installs dependencies in a way that saves disk space and speeds up the installation process.

Style Guides and Conventions