#Sprzątando
Projekt mający na celu zwiększenie umiejętności z zakresu Web Development'u. Technologie wykorzystane:
- CodeIgniter
- Sass
- JQuery
#Założenia systemu
Zgłaszający - użytkownik, który stworzył ofertę
Wykonawca - użytkownik, który zgłosił się do przyjęcia oferty
- System zawiera formularz rejestracji
- Rejestracja wymaga potwierdzenia i aktywacji poprzez email
- Istnieje możliwość przypomnienia hasła poprzez link wysyłany na email
- Formularz rejestracji zawiera pola:
- e-mail
type: e-mail, max-length: 50, UNIQUE
- login
type: text, max-length: 50, UNIQUE
- hasło
type: text, max-length: 50
- potwierdzenie hasła
type: text, max-length: 50
- potwierdzenie hasła musi być takie same jak hasło
- e-mail
- Wszystkie pola są obowiązkowe.
- System zawiera formularz logowania
- Formularz logowania zawiera pola:
- login
type: login, max-length: 50
- hasło
type: text, max-length: 50
- login
- Wszystkie pola są obowiązkowe.
- System zawiera formularz dodania oferty:
- Formularz dodania oferty zawiera pola:
- data
type: date, max-length: 50
- czas
type: time, max-length: 50
- numer telefonu
type: number, max-length: 50
- e-mail kontaktowy
type: text, max-length: 50
- miejsce
type: text, max-length: 255
- cena (w zł)
type: text, max-length: 50
- pokoje do sprzątania (checkbox'y)
type: array
- kuchnia
- łazienka
- salon
- sypialnia
- czynności do wykonania (checkbox'y)
type: array
- umycie samochodu
- umycie okien
- data
- Oferta musi zawierać minimum jedną opcję wybraną przez Zlecającego.
- Wszystkie pola są obowiązkowe.
- System zawiera stronę z listą wystawionych ofert
- Strona ta jest widoczna tylko dla zalogowanych użytkowników
- Widoczne są tylko aktywne oferty o czasie wykonania późniejszym niż czas przeglądania
- To miejsce w systemie ma umożliwiać filtrowania wpisów:
- po cenie (dwa pola „od” i „do”)
- klikane dla każdego pokoju do sprzątania i czynności do wykonania
- jeśli użytkownik zaznaczy w filtrowaniu np. checkboksem „[v] mycie samochodu”, wyświetlamy oferty zawierające m.in. tą pozycję.
- jeśli nic nie jest zaznaczone, zachowanie jest, jakby zaznaczone było wszystko
- Każda oferta ma swoją stronę
- Strona ta jest widoczna tylko dla zalogowanych użytkowników
- Na tej stronie znajdują się informacje danej oferty:
- czas
- miejsce
- cena
- numer telefonu
- użytkownik, który wystawił ofertę
- pokoje do sprzątania
- czynności do wykonania
- Na tej stronie użytkownik, który nie wystawił oferty, może się do niej zgłosić
- Formularz zgłoszenia zawiera pola:
- proponowaną cenę (w zł)
type: number, max-length: 50
- opis
type: text, max-length: 255
- proponowaną cenę (w zł)
- Nie można zgłosić się do nieaktualnej oferty
- Formularz zgłoszenia zawiera pola:
- Na tej stronie użytkownik, który wystawił ofertę, może przejść do listy Wykonawców
- Każda oferta ma stronę z listą Wykonawców
- Strona ta jest widoczna tylko dla Zgłaszającego
-
Zgłaszający może zaakceptować dowolną ilość Wykonawców
-
Wykonawca może potwierdzić podjęcie się oferty po zaakceptowaniu
- po potwierdzeniu podjęcia się oferty:
- nie można zmienić Wykonawcy, zostaje tylko ten, który potwierdził podjęcie się oferty
- oferta znika z listy ofert
- Po wykonaniu zadania Zgłaszający może potwierdzić wykonanie zadania
- po potwierdzeniu wykonania zadania Zgłaszający i Wykonawca mogą sobie wystawić opinię
- niezależnie od ilości wykonanych zadań jeden użytkownik może wystawić tylko jedną opinię drugiemu użytkownikowi
- Formularz opinii zawiera pola:
- ocenę (od 1 do 5 gwiazdek)
type: number, max-length: 1
- opis
type: text, max-length: 255
- ocenę (od 1 do 5 gwiazdek)
- Każdy użytkownik ma swoją stronę
- Strona ta jest widoczna tylko dla zalogowanych użytkowników
- Na tej stronie są widoczne opinie i średnia ocen z nich
- Na tej stronie jest widoczny opis ustawiony przez użytkownika
- Na swojej stronie użytkownik ma możliwość ustawić własny opis
- Formularz opisu zawiera pola:
- opis
type: text, max-length: 255
- opis
- Formularz opisu zawiera pola:
- Na swojej stronie użytkownik widzi wystawione przez siebie oferty, oraz oferty, do których się zgłosił
-
W systemie istnieje widok, który wyświetla ranking wykonawców bazując na średniej ocen.
-
Administrator ma następujące strony:
- strona z ofertami
- są tu wszystkie dane ofert
- Administrator może usuwać oferty
- strona ze zgłoszeniami
- są tu wszystkie dane zgłoszeń
- Administrator może usuwać zgłoszenia
- strona z użytkownikami
- są tu wszystkie dane użytkowników
- Administrator może usuwać lub blokować użytkowników
- Administrator może nadać uprawnienia Administratora użytkownikowi
#Instalacja
##Baza danych do wyeksportowania znajduje się w pliku sprzatando.sql
##Po sklonowaniu repozytorium należy zmienić niektóre dane:
application/config/config.php
- zmiana zawartości
$config['base_url']
na główny adres strony
public/js/main.php
- zmiana zawartości
var baseUrl
na główny adres strony
application/config/database.php
- zmiana zawartości
$db['default']
na dane swojej bazy danych
application/config/constants.php
- zmiana zawartości
'HASH_KEY'
na inny tekst soli