EMetshaf is an E-Book and Audio Book Store
- API
- Python / Flask
- WEB
- Python / Flask
- Authentication
- AudioBook Management
- Author Management
- Book Management
- Category Management
- Feedback management
- Language Management
- Narrator Management
- Review Management
- User Management
-
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
-
-
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
-
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'
-
👤 Mubarek Seid Juhar
- GitHub: @mubareksd
- GitLab: @mubareksd
- Twitter: @mubareksd
- LinkedIn: Mubarek Juhar
Contributions, issues, and feature requests are welcome!
-
Issues Bugs Feature Requests
check out issues page.
-
Contributing
check out CONTRIBUTING.md.
-
Code of Conduct
check out CODE_OF_CONDUCT.md.
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.