Skip to content

ibrahim-shedo/Bookstore

Repository files navigation

Bookstore Project

Overview

The Bookstore Project is a comprehensive online and physical bookstore application designed to manage book sales, inventory, and user interactions. The project integrates multiple technologies and provides both frontend and backend components.

Features

  • User Authentication: Login, registration, and account management.
  • Book Inventory Management: Admins can manage books, including adding, updating, and deleting.
  • Shopping Cart: Users can add books to their cart and proceed to checkout.
  • Order Management: Users can view and track their order history.
  • Book Ratings and Reviews: Users can rate books and write reviews.
  • Payment Integration: Integration with payment gateways (mock or real).
  • Book Search and Recommendations: Advanced search with filtering options and book recommendations.
  • Admin Panel: Manage inventory, users, and orders.

Technologies Used

  • Backend: Flask/Django (Python)
  • Frontend: React/Vue (JavaScript), HTML, CSS
  • Database: SQLite/PostgreSQL
  • Payment Gateway: Stripe/PayPal (mock or real)
  • Containerization: Docker
  • Performance Optimization: Cython for backend speed
  • Data Transformation: XSLT for rendering book data

Project Structure

bookstore_project/ ├── backend/ │ ├── app.py # Flask/Django main application │ ├── models.py # Database models │ ├── inventory.py # Book inventory management │ ├── auth.py # User authentication logic │ └── payments.py # Payment gateway integration ├── frontend/ │ ├── src/ │ │ ├── components/ # React/Vue components │ │ ├── App.js # Main component │ │ └── index.css # Global styles ├── data/ │ ├── books.db # Database file for books ├── tests/ # Unit tests for backend and frontend ├── Dockerfile # Docker configuration for containerization ├── README.md # Project documentation └── requirements.txt # Python dependencies

Installation and Setup

  1. Clone the Repository

    git clone https://github.com/username/bookstore_project.git
    cd bookstore_project
  2. Set Up the Python Environment

    python3 -m venv env
    source env/bin/activate   # On Windows, use `env\Scripts\activate`
    pip install -r requirements.txt
  3. Set Up the Frontend

    cd frontend
    npm install   # Install React dependencies
    npm start     # Start the React development server
  4. Set Up the Database

    • SQLite is used for the local database. No configuration is needed.
    • For PostgreSQL, configure the database connection in config.py.
  5. Run the Backend

    python backend/app.py
  6. Access the Application Open the browser and go to http://localhost:5000 for the backend or http://localhost:3000 for the frontend.

Contribution

Feel free to fork this repository and submit pull requests for new features or bug fixes. Ensure tests are added for any new features.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contact

For any inquiries or collaboration, contact me at ibrezma.shado.gmail.com.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors