- Background / Overview
- Features
- Prerequisites
- Documentation
- Browser Support
- Dependencies
- Release History
- Changelog
- Issues
- Bugs
- Translations
- Authors
- Acknowledgments
- Support
- License
UniMart by EvoQ API is a tool that allows developers to integrate e-commerce features like product management, inventory control, order processing, and customer data management into their applications or websites, making it easier to run online stores.
-
Swift Onboarding:
- Join UniMart with a breeze using your Full Name, Email, and Phone – setting up your account in moments.
-
Exclusive Shopping Experience:
- Gain access to a world of curated products tailor-made for our authorized users.
-
Intelligent Cart Management:
- UniMart Basket, your intelligent shopping companion, adapts to your preferences seamlessly.
-
Quick Checkout:
- Add, remove, or clear items with a single click – making your shopping journey smooth and enjoyable.
-
Diverse Product Range:
- Explore a diverse range of products that cater to your unique tastes and needs.
-
Stay Informed:
- Receive real-time updates on product additions and updates, ensuring you never miss out.
-
Effortless Login:
- Swiftly access UniMart using your Email or Phone, accompanied by a secure password.
-
Authenticated Perks:
- Unlock a world of benefits with exclusive access to our curated product list.
-
Blazing-Fast Speed:
- UniMart leverages asynchronous processes, ensuring a swift and responsive shopping experience.
-
Secure Identity Handling:
- Your identity is protected with robust Bearer Tokens or JWT authentication.
You will need the following installed on your computer.
Let's go through the steps to run the project "UniMart_by_EvoQ".
-
Clone the Repository:
git clone [email protected]:tigran-saatchyan/UniMart_by_EvoQ.git
-
Navigate to Project Directory:
cd UniMart_by_EvoQ
-
Install Poetry:
- If you haven't installed Poetry yet, please follow the instructions on the official website: https://python-poetry.org/docs/#installation
- If you have Poetry installed, you can use the following command to activate Python 3.12 for the project:
poetry env use python3.12
-
Install Project Dependencies:
poetry install
-
Activate Virtual Environment:
poetry shell
-
Create Database:
- If you haven't installed PostgreSQL yet, please follow the instructions on the official website: https://www.postgresql.org/download/
createdb --host=POSTGRES_HOST --port=POSTGRES_PORT --username=POSTGRES_USER POSTGRES_DB
- Note: Don't forget to rename .env.sample and replace the values with your own.
- Note: If you are using the default PostgreSQL settings, you can use the following command:
createdb --host=localhost --port=5432 --username=postgres unimart_db
-
Run Migrations:
alembic upgrade head
-
Run the Project:
uvicorn app.main:app --reload --host 127.0.0.1 --port 8000
-
Testing:
-
Create a test database:
createdb --host=TEST_POSTGRES_HOST --port=TEST_POSTGRES_PORT --username=TEST_POSTGRES_USER TEST_POSTGRES_DB
- Note: Don't forget to replace the values with your own and put them in the .env.test file.
-
You can run tests by using the following command:
poetry run pytest
-
If you want to run the tests with coverage, you can use:
poetry run pytest --cov=app tests/
-
If you want to run the tests with coverage and generate a report, you can use:
poetry run pytest --cov=app tests/ --cov-report=html && open htmlcov/index.html
-
Please note that the success of these steps depends on the project's structure and requirements. If there are additional steps or specific configurations needed, consult the project's documentation or README.
========= Tigran Saatchyan ~ git version 2.34.1
=============== -------------------------------------
================= Project: UniMart_by_EvoQ (2 branches)
=== ==============
=================== Created: 5 days ago
========== Language:
========================== ======= ● Python (100.0 %)
============================ ======== Authors: 100% Tigran Saatchyan
============================= ========= URL: [email protected]:tigran-saatchyan/UniMart_by_EvoQ.git
============================ ==========
========== ============================
========= ============================= Lines of code: 1369
======== ============================ Size: 244.97 KiB (60 files)
======= ========================== License: MIT
==========
===================
============== ===
=================
===============
=========
Project Structure
UniMart_by_EvoQ
app
├── __init__.py
├── api
│ ├── __init__.py
│ └── v1
│ ├── __init__.py
│ ├── auth.py
│ ├── cart.py
│ ├── dependencies.py
│ ├── products.py
│ └── routers.py
├── db
│ ├── __init__.py
│ └── db.py
├── main.py
├── migrations
│ ├── env.py
│ ├── README
│ ├── script.py.mako
│ └── versions
├── models
│ ├── __init__.py
│ ├── base_model.py
│ ├── cart.py
│ ├── products.py
│ └── users.py
├── repositories
│ ├── __init__.py
│ ├── cart.py
│ ├── products.py
│ ├── repository.py
│ └── users.py
├── schemas
│ ├── __init__.py
│ ├── cart.py
│ ├── products.py
│ └── users.py
├── services
│ ├── __init__.py
│ ├── cart.py
│ ├── managers.py
│ ├── products.py
│ └── validators.py
├── settings
│ ├── __init__.py
│ ├── auth.py
│ └── config.py
└── utils
├── __init__.py
├── factories.py
├── unitofwork.py
└── utils.py
Note: The scaffolding was generated with tree.
List of dependencies used in the project
Main Libraries | Other Libraries |
---|---|
Detailed changes for each release will be documented in the release notes.
Please make sure to read the Issue Reporting Checklist before opening an issue. Issues not conforming to the guidelines may be closed immediately.
If you have questions, feature requests or a bug you want to report, please click here to file an issue.
- 🇷🇺 Russian/Русский
- Tigran Saatchyan - UniMart by EvoQ
See also the list of contributors who participated in this project.
This project would not have been possible without the help and advice of many contributors and the tremendous support of each of you.
Like what you see? Keep me awake at night by buying me a coffee or two.
Copyright (c) 2023 Tigran Saatchyan.
Usage is provided under the MIT License. See LICENSE for the full details.