79 lines
2.4 KiB
Markdown
79 lines
2.4 KiB
Markdown
# Midrand Books Ecommerce Platform
|
|
|
|
An online bookstore web application designed for Midrand Books, allowing local and national customers to browse, search, and purchase books seamlessly.
|
|
|
|
## 🚀 Features
|
|
|
|
* **User Authentication**: Secure customer registration, login, and profile management.
|
|
* **Product Catalog**: Advanced search, filtering by genre, and dynamic book categorization.
|
|
* **Shopping Cart**: Real-time cart updates, item persistence, and coupon code validation.
|
|
* **Secure Checkout**: Integrated payment gateways supporting local South African methods (e.g., PayFast, Ozow, or Yoco).
|
|
* **Order Tracking**: Automated email confirmations and live delivery status tracking.
|
|
* **Admin Dashboard**: Content management system (CMS) to manage inventory, track sales, and process orders.
|
|
|
|
## 🛠️ Tech Stack
|
|
|
|
* **Frontend**: Blazor / HTML5 / Bootstrap CSS
|
|
* **Backend**: Blazor Server
|
|
* **Database**: PostgreSQL
|
|
* **Payment Gateway**: PayFast API / PayPal SDK
|
|
|
|
## 📋 Prerequisites
|
|
|
|
Before setting up the project locally, ensure you have the following installed:
|
|
|
|
* .NET SDK (v6.0 or higher)
|
|
* Git
|
|
|
|
## 🔧 Installation & Setup
|
|
|
|
Follow these steps to run the project locally.
|
|
|
|
1. **Clone the repository**
|
|
```bash
|
|
git clone https://gitea.khongisa.co.za/litecharms/midrandbooks.git
|
|
cd midrandbooks
|
|
```
|
|
|
|
2. **Install dependencies**
|
|
```bash
|
|
# restore NuGet dependencies
|
|
dotnet restore
|
|
```
|
|
|
|
3. **Environment Variables**
|
|
Create a `.env` file in both the frontend and backend roots. Use the `.env.example` files provided as a reference.
|
|
```env
|
|
DATABASE_URL=your_database_url
|
|
Email = mailbox settings
|
|
Monitoring = Aspire dashboard settings
|
|
PAYMENT_GATEWAY_KEY=your_api_key
|
|
```
|
|
|
|
4. **Run the application**
|
|
```bash
|
|
# Start app
|
|
dotnet run
|
|
```
|
|
|
|
5. **Access the app**
|
|
Open your browser and navigate to `http://localhost:5000`.
|
|
|
|
## 📦 Deployment
|
|
|
|
* **Frontend**: Hosted on Lite Charms Cloud.
|
|
* **Backend**: Hosted on Lite Charms Cloud.
|
|
* **Database**: Managed on Lite Charms PVC LXC container settings
|
|
|
|
## 🤝 Contributing
|
|
|
|
1. Fork the repository.
|
|
2. Create a feature branch: `git checkout -b feature/NewFeature`.
|
|
3. Commit your changes: `git commit -m 'Add NewFeature'`.
|
|
4. Push to the branch: `git push origin feature/NewFeature`.
|
|
5. Open a Pull Request.
|
|
|
|
## 📄 License
|
|
|
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|