Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vuevska/petopia

Електронска продавница за производи за миленици
https://github.com/vuevska/petopia

django python

Last synced: about 1 month ago
JSON representation

Електронска продавница за производи за миленици

Awesome Lists containing this project

README

        

# Проект по предметот Дизајн на интеракција човек-компјутер 2022/2023 год.
### Petopia - електронска продавница за производи за миленици

### Стартување на проектот:
1. Во датотектата **requirements.txt** се наоѓаат зависностите од проектот кои со командата `pip install -r requirements.txt` може да се преземат.
2. Доколку проектот се старува локално, тоа се прави со командата `python manage.py runserver [ip address]:[port]` ,

пример: `python manage.py runserver 127.0.0.1:8000`

3. За пристап до суперкорисникот односно “продавачот“ на продавницата може да се искористи корисничкиот профил:

``username: majav``

``password: majav``

### Опис на системот:
На главната страница од системот се прикажани сите производи во продавницата кои потоа може да се филтрираат според типот на миленик. Секој корисник може да креира нов кориснички профил или пак да се најави во системот, доколку веќе има креирано профил. При клик на секој продукт се отвора нова страница каде се пишани подетални информации за продуктот, и таму истиот може да се додаде во корисничката кошничка. Корисниците може да додаваат нови продукти во кошничката или пак истите да ги отстрануваат од неа. На крај тие продукти може да се купат и може да се види листа од претходно направени нарачки.




# Продолжување за проект по предметот Софтверски квалитет и тестирање 2022/2023 год.
За тестирање на апликацијата се користени следните алатки:
- Pytest Testing Framework
- Playwright UI Testing
- Python Coverage testing

Линкови за документација на алатките:
- [Pytest documentation](https://docs.pytest.org/en/7.1.x/getting-started.html)
- [Playwright documentation](https://playwright.dev/)
- [Coverage documentation](https://coverage.readthedocs.io/en/7.3.1/)

### Pytest Testing Framework
Во рамки на проектот ``PetopiaApp`` се наоѓа директориумот ``test`` каде се наоѓаат соодветни тестови за тестирање на различните делови на Django апликацијата како што се: URLs, Models, Views и Forms. Сите овие тестови се извршуваат со помош на алатката **Pytest**. За иницијализирање на оваа алатка, потребно е проектот да има датотека именувана **pytest.ini** и во неа се дефинирани правилата за именување на имињата на тестовите, односно кои датотеки да бидат третирани како тестови. Во овој проект тоа се сите .py датотеки кои започнуваат со зборот "test".


Команда за ивзршување на сите тестови во овој директориум:

```pytest PetopiaApp/tests/ -v```


Ова дава детален извештај при извршувањето на тестовите и доколку падне некој тест посочува каде е истиот паднат.
Исто така можат тие да се тестираат и поединечно со специфицирање на името на тестот кој сакаме да го тестираме во командата, како на пример:.


```pytest PetopiaApp/tests/test_ui_fixtures_playwright.py -v```

### Playwright UI Testing
За симулирање на корисничко тестирање се користи алатката ``Playwright``. Алатката нуди можност и за автоматско пишување на скрипта за тест, каде корисникот избира што сака да биде истестирано во еден Chromium пребарувач.
Команда за генерирање на скрипта за тестирање:

``playwright codegen http://petopia.pythonanywhere.com/``


За извршување на Playwright тестот, се користи командата од погоре.

### Python Coverage Testing
На крај се користи алатката ``Coverage.py`` за тестирање на покриеноста на кодот. Се извршува со командата:

``coverage run manage.py test``

И за генерирање на детален html извештај се користи командата:

``coverage html``