Skip to content

emetshaf/emetshaf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EMetshaf

📗 Table of Contents

📖 EMetshaf

EMetshaf is an E-Book and Audio Book Store

🛠 Built With

  • API
    • Python / Flask
  • WEB
    • Python / Flask

🔭 Features

  • Authentication
  • AudioBook Management
  • Author Management
  • Book Management
  • Category Management
  • Feedback management
  • Language Management
  • Narrator Management
  • Review Management
  • User Management

🚀 Live Demo

Live Demo Link

💻 Getting Started

Prerequisites

  • Python 3.9+

  • MariaDB

  • Git

  • Tmux

    • ubuntu/Debian

      sudo apt install python3
      sudo apt install mariadb-server
      sudo apt install git
      sudo apt install tmux
    • Arch/Manjaro

      sudo pacman -S python3
      sudo pacman -S mariadb
      sudo pacman -S git
      sudo pacman -S tmux
    • Redhat/Fedora

      sudo yum install python3
      sudo yum install mariadb-server
      sudo yum install git
      sudo yum install tmux
    • MacOS

      brew install python3
      brew install mariadb
      brew install git
      brew install tmux
    • Windows

      choco install python3
      choco install mariadb
      choco install git

Setup

  • clones the project

    git clone https://github.com/emetshaf/emetshaf
  • cd into the project

    cd emetshaf
  • create virtual environment

    python3 -m venv env
  • activate the environment

    source env/bin/activate
  • install the required python packages

    pip install -r requirements.txt
  • create a database

    mysql -u root -p
    CREATE DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
  • create a user

    CREATE USER 'db_user'@'localhost' IDENTIFIED BY 'db_user_pwd';
  • grant db_user all privileges on db_name

    GRANT ALL PRIVILEGES ON db_name.* TO 'db_user'@'localhost';
  • flush privileges

    FLUSH PRIVILEGES;
  • create a .env file

    touch .env
    touch .env
  • add the following to the .env file

    SECRET_KEY=your_secret_key
    EMETSHAF_ENV=dev
    EMETSHAF_MYSQL_HOST=localhost
    EMETSHAF_MYSQL_USER=db_user
    EMETSHAF_MYSQL_PWD=db_user_pwd
    EMETSHAF_MYSQL_DB=db_name

Usage

  • start the api application

    • Linux/MacOS

      tmux new-session -d 'gunicorn --config gunicorn-cfg.py run:api'
  • start the web application

    • Linux/MacOS

      tmux new-session -d 'gunicorn --config web/gunicorn-cfg.py run:web'

👥 Authors

👤 Mubarek Seid Juhar

🤝 Contributing

Contributions, issues, and feature requests are welcome!

❓ FAQ

📝 License

    Copyright 2023 EMetshaf

    Licensed under the GNU General Public License, Version 3.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

    https://www.gnu.org/licenses/gpl-3.0.en.html

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.