Online Retail Management System — A person can browse the offerings anonymously but to make a purchase they must create an account. The customer will provide their information (delivery location, payment information etc … can have multiple). A customer can purchase one or more items at a time & in different quantities. There are different types of items for sale & based on the quantity ( or other factors) the price of the item may be discounted. Bills will be generated & the customer must pay at time of order. The items can be sourced from multiple suppliers. Think Amazon or any other online retailer.
- axum - Web framework
- async-graphql - GraphQL server library
- sea-orm - ORM library
- jsonwebtoken - JWT library
- argon2 - Password hashing library
- And many more - Check the Cargo.toml file for more information
- Clone the repository
- Navigate to the
api-serverdirectory - Setup the
.envfile in theapi-server/with the following variables and edit the values accordinglyDATABASE_URL=postgresql://username:password@uri_to_the_instance/database_name PORT=8088 PASSWORD_SECRET="passwords@rePassw0rd1ng" TOKEN_SECRET="T0k3me@ser1ous1y" SMTP_USERNAME="contact@domain.com" SMTP_PASSWORD="Pr3ttyStr0ngP@ssw0rd"
- Run
cargo runto start the server
The API documentation can be found at http://localhost:$PORT/ after starting the server
The database schema can be found at ./schema.sql file
Please check the ./schema.graphql file for the graphql schema