This repository contains a Rust (Yew) frontend that leverages Tailwind CSS for theming and styling. Additionally, this repository implements state management using the bounce library - similar to zustand as it relates to Redux state management in ReactJS.
This section provides supporting steps and documentation for developing locally.
Before jumping into the code, there are a few prerequisites.
-
Local development should be done from a UNIX-based machine - use Linux, MacOS, or WSL2 if you're on a Windows machine.
-
GitHub access should be managed through an SSH key in your UNIX environment. If you're unfamiliar with this process start here.
-
pre-commit should be installed globally on your machine for linting and validating your code prior to pushing up to GitHub.
-
Rust should be installed globally on your machine for compiling and running code.
-
Optionally, the Rust-Analyzer extension can be installed in VS Code for a better development experience.
-
Node Version Manager should be installed on your machine for managing node versions for current and future maintenance of UI packages. This project is currently using v18.13.0.
source ~/.nvm/nvm.sh # activate nvm once installed nvm install v18.13.0 # install node nvm use v18.13.0 # use node
-
Clone the repository (if this is your first time).
git clone [email protected]:dgonzo27/rust-yew-tailwind.git
-
Navigate into the repository directory.
cd rust-yew-tailwind
-
Ensure pre-commit is enabled for this repository.
pre-commit install
-
Enable node version manager.
source ~/.nvm/nvm.sh # activate nvm nvm use v18.13.0 # use node
-
Setup the project.
cd client npm run setup
-
Run the project.
npm run dev
-
Visit http://localhost:8080.
File an issue via GitHub Issues.
Security vulnerabilities and bugs should be reported privately, via email, to the maintainers of this repository. Please contact Dylan Gonzales. For more information, visit the security guidelines.
Before contributing to this repository, please review the code of conduct.
Contributions and suggestions are welcomed. However, there is a level of responsibility placed on the contributor to follow best-practices, provide thorough testing, follow the branching strategy, use the pull request template, and maintain a positive and coachable attitude when receiving feedback or questions on your code. For more details on these responsibilities, please visit the contributing guide.
When contributing, you are granting the maintainers of this repository the rights to use your contribution(s).