Skip to content

DarthKenar/ElCanarioRegionales

Repository files navigation

Logo ElCanarioRegionales

Leer este Readme en español <--

Full Online Technical Documantation

Full Documentation (English) <--

Goal

Web application to control Stock, Customers and Orders for a small business.

Description

Originally the web application El Canario Regionales was created for the management of a small business of regional articles from Argentina (@elcanario.regionales), although its use can be general for any CRM business. Given its nature and scalability it would be a matter of replacing logos, fonts and some other small things. Using DaisyUI this becomes very simple.


PREVIEW

RESPONSIVE DESIGN

RESPONSIVE DESIGN

CHANGE LANGUAGE

CHANGE LANGUAGE

CHANGE THEME

CHANGE THEME

Features

  • Create, edit, delete customers.
  • Creates, edits, deletes items for articles
    • Creates, edits or deletes categories for articles
      • Creates, edits or deletes values related to a specific category (to relate them to a specific article)
  • Create, edit, delete orders.
  • Automatic creation of log of actions displayed on the main panel (desktop)
  • Full authentication system
    • Login (or register) with Google account
    • Registration
    • Login with Google account
    • Password recovery
    • Email confirmation (not mandatory for practical purposes)
    • Dual authentication system (2FA) (not mandatory for practical purposes)
    • and much more...
  • Filtering of Cards (objects [Customers, Orders, Items]) based on any of their attributes (Implemented HTMX dynamic page)
  • Install the application on your cell phone (Progressive web application)

Getting started

With python installed

Download Python

Clone repository

git clone https://github.com/DarthKenar/ElCanarioRegionales.git

RUN APLICATION


> To run the application with PDM

If you do not have pdm
pip install pdm
If you have pdm or once you have it

Install the dependencies in the virtual environment

pdm install

Performs migrations to use a local database

pdm migrate

Run Server

pdm server

> To run the application with PIP, create a virtual enviroment

py -m venv enviroment_name

Activates the virtual environment

source enviroment_name/bin/activate

In the activated virtual environment install requirements

pip install -r requirements.txt

With the dependencies already installed we go to the folder containing the python manage file

cd ElCanarioRegionales
cd elCanario

We check that the directory contains the python manage file

cd dir

List directory

We perform the migrations to use a local database

py manage.py migrate

We run our local server

py manage.py runserver

NOTA

If a local server is used, the google login function will not be available because the google credentials are not available. For more information: Google credentials


Models Relationships

erDiagram 
    Article one or zero to many ArticleValue : characteristics_id
    Article |o--|| ArticlePromotion : in
    Article |o--|| ArticleOrder : in
    ArticleValue |o--|| Value : get
    ArticleValue |o--|| Category : get
    Value |o--|| Category : get
    ArticlePromotion |o--|| Promotion : get
    ArticleOrder |o--|| Order : get
    Order |o--|| Customer : places
    Article {
        id BigAutoField
        image Imagefield
        name CharField
        buy_price DecimalField
        increase DecimalField
        sell_price DecimalField
        stock PositiveSmallIntergerField
    }
    ArticleValue {
        id BigAutoField
        article_id ForeingKey
        category_id ForeingKey
        value_id ForeingKey
    }
    ArticlePromotion {
        id BigAutoField
        article_id ForeingKey
        promotion_id ForeingKey
    }
    ArticleOrder {
        id BigAutoField
        article_id ForeingKey
        order_id ForeingKey
    }
    Value {
        id BigAutoField
        name CharField
        category_id ForeingKey
    }
    Category {
        id BigAutoField
        name CharField
    }
    Promotion {
        id BigAutoField
        name CharField
        discount DecimalField
        remainder SmallIntergerField
        sell_price DecimalField
    }
    Order {
        id BigAutoField
        customer_id ForeingKey
        article_quantity PositiveSmallIntergerField
        creation_date DateTimeField
        delivery_status BooleanDield
        details TextField
        total_pay DecimalField
        updated_date DateTimeField
    }
    Customer {
        id BigAutoField
        address CharField
        email EmailField
        name CharField
        phone_number CharField
    }
Loading