A Rust-based web app to show up-to-date information on publicly-available recycling programs within the Bartlesville, OK city limits.
Project Purpose: Promote environmental sustainability by making recycling more accessible and user-friendly for residents of Bartlesville, OK through the use of information aggregation on local recycling programs.
A project of Phishing Spider LLC.
- Programming Language: Rust
- Database: MariaDB
- Frontend Framework: TBD
- Maps: OpenStreetMap (with attribution and compliance)
This project is currently a work in progress. Here is our roadmap:
- Compose REQUIREMENTS.md
- Develop platform
- Gather data for MVP (identify key recycling sites and related information)
- Test, optimize, and audit the platform
- Deploy platform
- Ensure all administrative credentials get changed away from defaults.
- Spread awareness
- Update and maintain the platform as needed
Follow these steps to get started with bville-recycle
:
Before you begin, ensure the following:
-
Rust Installed:
- Install Rust using rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Verify installation:
rustc --version cargo --version
- Install Rust using rustup:
-
MariaDB Installed:
- Follow the MariaDB installation guide, or use your system’s package manager.
Example for Ubuntu:
sudo apt update sudo apt install mariadb-server
- Follow the MariaDB installation guide, or use your system’s package manager.
Example for Ubuntu:
-
Git Installed:
- Ensure Git is installed. Example for Ubuntu:
sudo apt install git
- Check installation:
git --version
- Ensure Git is installed. Example for Ubuntu:
Open a terminal and run:
git clone https://github.com/PhishingSpider/bville-recycle.git
cd bville-recycle
Create a .env
file in the project root with your MariaDB credentials. Use non-default credentials for better security:
DATABASE_URL=mysql://your_username:your_password@localhost/bville_recycle
Open the MariaDB command-line client and run the following commands:
CREATE DATABASE bville_recycle;
CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON bville_recycle.* TO 'your_username'@'localhost';
FLUSH PRIVILEGES;
If you're unsure, refer to the Set up MariaDB
section of our GitHub Actions workflow for Rust for a practical example.
Build the project:
cargo build
Run the application:
cargo run
The application will start, and you can access it locally at http://localhost:8000. (TLS pending)
To ensure everything is set up correctly:
cargo test
You're all set! If you encounter any issues, check our CONTRIBUTING.md for support or open an issue.
Contributions are welcome! Please review our CONTRIBUTING.md and CODE_OF_CONDUCT.md files for guidelines.
This project is licensed under the MIT License. See LICENSE for details.