React.js
Express.js
MySQL
HTML
CSS
TypeScript
- Wstęp
- Plany rozwoju aplikacji
- Uruchomienie programu
- Wykorzystane technologie
- Opis działania programu
Mój pierwszy większy projekt full stack. Projekt ma symulować panel administracyjny sklepu internetowego. Można dodawać nowe produkty do bazy, można symulować zamówienia, dodawać klientów i tworzyć kategorie. Projekt jest w podstawowej wersji działania i bedzie rozwijany o kolejne funkcje.
- Po wykonaniu czynności u góry po prawej stronie przy dzwoneczku będzie wyświetlało się powiadomienie z wiadomością jaka czynność została wykonana
- Podpięcie prostego sklepu internetowego z możliwością zalogowania się klienta oraz admina, który będzie mógł wejść na panel administracyjny
- Możliwość wysłania wiadomości do sklepu i ta wiadomość zostanie przesłana do panelu admina z powiadomieniem przy kopercie
- Wprowadzanie poprawek i usprawnień
- Stworzenie Todo listy na stronie zadania gdzie admin będzie mógł stworzyć sobie listę zadań na następny dzień
Najpierw ściągnij pliki lub sklonuj zdalne repozytorium na swój lokalny dysk. Tutaj jest repozytorium do back-end, który też musisz pobrać.
Folder, w którym znajdują się pliki z back-endu musi mieć nazwę back-end
!
Po ściągnięciu plików wpisz w terminalu to polecenie:
npm install
Wykonaj to polecenie osobno w folderze z front-end'em i osobno z back-end'em
W folderze z back-endem jest folder dataDB
a w nim plik z cała bazą sql. Aby program działał poprawnie musisz
zaimportować plik do swojej bazy lokalnej
W pliku db.ts
jest konfiguracja połaczenia się z bazą danych:
import {createPool} from "mysql2/promise";
export const pool = createPool({
host: 'localhost',
user: 'root',
database: 'mega_shop',
namedPlaceholders: true,
decimalNumbers: true,
})
Jeżeli masz inne dane, musisz je edytować w ten sposób, aby odpowiadały Twojej bazie!
Teraz w konsoli wystarczy uruchomić back-end oraz front-end
W terminalu wchodzimy do folderu z back-endem a potem z front-endem i wpisujemy polecenie dla kazdego z nich:
npm start
Zrobione! 😃
Technologia, paczka, język programowania | Opis | Wersja |
---|---|---|
HTML | Struktura strony | 5 |
CSS | Stylizacja wyglądu strony | 3 |
JavaScript | język programowania | ES6+ |
TypeScript | Nadbudówka JS | 4.7.3 |
React | Framework JS | 18 |
react-router-dom | Routing | 6.3 |
UUID | Generator unikalnych ID | 8.3.2 |
@styled-icons/boxicons-(typ) | Ikony | 10.38 |
- Z lewej strony mamy menu, które możemy zamykać i otwierać klikając na kłódkę u góry.
- Logo tworzone na podstawie loga kursu. Wszelkie prawa zastrzeżone
- W dashboardzie mamy podsumowanie zamówień, ilość klientów, jakie produkty się najlepiej sprzedają, oraz listę zamówień
- W zakładce produkty widzimy listę produktów jakie są w bazie
- Zdjęcia produktów są wstawiane do bazy w formie odnośników do obrazków
- Gdy brakuje towaru na naszym "magazynie" wtedy opis jest na czerwonym tle i wyświetla się dodatkowy przycisk do zamówienia tego towaru
- Są tez przyciski do edycji oraz usuwania produktu
- Mozna sortować produkty po wybranych opcjach oraz wyszukać produkt
- Po kliknięciu w przycisk Dodaj produkt wyskoczy nam takie okienko
- Musimy wypełnić kazde pole inaczej wyświetli się nam stosowna informacja (w czasie tworzenia readme walidacja formularza jeszcze nie jest wprowadzona!)
- Po dodaniu produktu wyświetli się informacja ze produkt został dodany do bazy oraz po zniknięciu informacji strona zostanie przeładowana.
- Po kliknięciu Edytuj pojawi się okienko takie same jak dodawanie produktu, z tym że pewne informacje takie jak opis czy link do zdjęcia pozostaną wyświetlone w placeholder. W przyszłości zostanie to zmienione na zwykły tekst do edycji, bo w tej wersji musimy na nowo wprowadzać wszystkie dane.
- Strona zamówienia posiada listę wszystkich zamówień
- Po prawej stronie mamy podsumowanie liczby zamówień, łączną kwotę oraz ile sprzedaliśmy produktów
- NA środku jest przycisk gdzie mozemy zasymulować zakupy
- Po kliknięciu Symuluj zamówienie wyskoczy okienko z listą produktów z wyborem klienta i zatwierdzenia symulacji
- Przy wyborze produktu na dole będzie wyświetlana lista
- Musimy wybrać klilenta by móc wykonać symulację
- Gdy któregoś produktu nie ma "na stanie" wtedy nie będzie wyświetlany na liście produktów w symulacji
- Strona posiada zbiór kategorii produktów w sklepie
- Kategorie mozna dodawać w formularzu po prawej stronie
- Kategorie mozna usuwać klikając ikonkę kosza (aktualnie po kliknieciu automatycznie jest usuwana kategoria, w przyszłości będzie po kliknięciu potwierdzenie czy na pewno chcemy usunąc)
- Strona wyświetla wszystkich "zarejestrowanych" klientów sklepu
- Klienta mozna usunąć klikając na ikonę śmietnika(nie dodano jeszcze potwierdzenia)
- Klienta mozna zbanować klikając w czerwoną dłoń
- Po kliknięciu w przycisk dodaj klienta wyskoczy okienko z formularzem
- Wszystkie dane muszą być wprowadzone
- Formularz posiada podstawową walidację