This project is a full-stack Rust application featuring CRUD operations implemented with Axum for the backend, PostgreSQL for the database, and AWS Cognito for user authentication. The frontend is built with Yew, HTML, and CSS, providing a GUI interface for interacting with the backend database.
To get started with the project, follow these steps:
- Clone the repository
- Ensure you have Rust installed. If not, follow the installation instructions from
- Install project dependencies: $ cargo build
- Set up environment variables by creating a .env file with the required configuration for AWS Cognito and database connection.
- Install necessary tools: Trunk: $ cargo install trunk
- After installation, you can run the project locally: For the backend : $ cargo run For the frontend: $ trunk serve
The backend utilizes Axum to implement CRUD operations. Each endpoint handles Create, Read, Update, and Delete operations for the corresponding resources.
Middleware is implemented to handle authentication and other cross-cutting concerns.
PostgreSQL is used as the database to store application data. Ensure you have PostgreSQL installed and running, and update the .env file with the appropriate database connection details.
AWS Cognito is used for user authentication. Ensure you have set up a user pool in AWS Cognito and created an app client. Update the .env file with the necessary credentials.
The frontend is built with Yew, providing a rich user interface for interacting with the backend. It establishes connections with the backend database and implements CRUD operations.
Contributing Contributions are welcome! Feel free to open issues or submit pull requests.