Skip to content

Web application to display charts and tables of runners results

Notifications You must be signed in to change notification settings

rzymski/runnersChart

Repository files navigation


Aplikacja webowa stworzona w Django 4.2.5 i pythonie 3.11.1


Zawartość REDME

  1. 🏃 Cel aplikacji
  2. 📜 Funkcjonalność
  3. 💻 Uruchomienie aplikacji lokalnie
  4. 🔧 Konfiguracja
  5. 📡 Wdrożenie na serwer pythonanywhere
  6. 🌐 Działanie aplikacji na serwerze

Cel aplikacji

Aplikacja została stworzona na potrzeby wydarzenia dwudniowego biegu, zaczynającego się wieczorem i kończącego ranem następnego dnia.
Aplikacja umożliwia prezentacje wyników biegaczy w formie wykresu i tabeli.
Zarządzanie danymi biegów aplikacji odbywa się w dostosowanym panelu administracyjnym lub domyślnym panelu administracyjnym.

Funkcjonalność

  1. Wykres z wynikami biegaczy
  2. Tabela z wynikami biegaczy
  3. Tabela z wynikami pojedyńczego biegacza
  4. Dostosowany panel administracyjny
  5. Strandardowy panel administracyjny Django

Instrukcja uruchomienia aplikacji lokalnie:

Tworzymy wirtualne środowisko

python -m venv venv

Aktywujemy wirtualne środowisko

.\venv\Scripts\activate

Instalujemy wszystkie potrzebne biblioteki z pliku requirements.txt

pip install -r .\requirements.txt

Uruchomienie projektu Django

python manage.py runserver 'nrPortu opcjonalnie'

Konfiguracja:

Important

Ustawiamy datę biegu w:

runProject\settings.py ${\textsf{\color{gold}FIRST\_DAY}}$ datetime(2024, 11, 2, 21, 30)

Kod FIRST_DAY zawierający datę biegu datetime(2024, 11, 2, 21, 30)
from pathlib import Path

from datetime import datetime, timedelta
FIRST_DAY = datetime(2024, 11, 2, 21, 30)
SECOND_DAY = FIRST_DAY + timedelta(days=1)
Wybranie daty biegu w ustawieniach kodu

Przydatne polecenia:

Tworzenie migracji po zmianie modelów

python manage.py makemigrations appName --name changeName

Zatwierdzenie migracji

python manage.py migrate  

Tworzenie super użytkownika

python manage.py createsuperuser

Włączenie shell-a w konsoli (pozwala na komunikacje z bazą danych przez ORM)

python manage.py shell

Wdrożenie na serwer pythonanywhere:

Uruchomienie konsoli w pythonanywhere:

W sekcji Consoles
Uruchamiamy konsole: uruchomienie konsoli w pythonanywhere

Klonujemy repozytorium:

git clone https://github.com/rzymski/runnersChart.git

Tworzymy wirtaulne środowisko:

mkvirtualenv --python=/usr/bin/python3.10 venv

Pobieramy wszystkie potrzebne pakiety z requirements.txt:

pip install -r ./runnersChart/requirements.txt

Dodanie aplikacji do serwera: Add a new web app --> ... --> Manual Configuration --> Python 3.10 --> ...
Dodanie aplikacji do serwera

Ustawienia w sekcji Web:


Source code: /home/nazwaUzytkownika/runnersChart (nazwa głównego folderu projektu i nazwa repozytorium na github-ie)

Working directory: /home/nazwaUzytkownika

Virtualenv: /home/nazwaUzytkownika/.virtualenvs/venv

Static files:
  URL: /static/
  DIRECTORY: /home/nazwaUzytkownika/runnersChart/static

WSGI configuration file:

import os
import sys
path = os.path.expanduser('~/runnersChart')
if path not in sys.path:
    sys.path.insert(0, path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'runProject.settings'
from django.core.wsgi import get_wsgi_application
from django.contrib.staticfiles.handlers import StaticFilesHandler
application = StaticFilesHandler(get_wsgi_application())
Ustawienia aplikacji na serwerze

Po skonfigurowaniu warto również dla pewności jeszcze raz upewnić się, że pliki statyczne są załadowane.
Polecenie do przeładowania plików statycznych:

python manage.py collectstatic

Przeładowanie aplikacji na serwerze: Przeladowanie aplikacji na serwerze

W przypadku wyłączenia się konsoli i zamknięcia wirtualnego środowiska, żeby włączyć z powrotem wirtualne środowisko w /home/ultradoba2024/.virtualenvs:

workon venv

Działanie aplikacji na serwerze

Można sprawdzić działanie aplikacji w:

Wykres:

Wykres biegów

Tabela z wynikami biegaczy:

Tabela wyników biegaczy

Tabela wyników pojedyńczego biegacza:

Tabela wyników pojedyńczego biegacza

Spersonalizowany panel administracyjny:

Spersonalizowany panel administracyjny

Domyślny panel administracyjny:

Domyślny panel administracyjny Django

About

Web application to display charts and tables of runners results

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published