Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zlecę wykonanie prostej platformy edukacyjnej
Forum PHP.pl > Inne > Giełda ofert > Poszukuję
ZleceniaPHP
Poszukiwany programista PHP do zrealizowania prostej platformy edukacyjnej, przygotowującej użytkownika do zbliżającego się egzaminu państwowego. Dla ułatwienia rozumowania idei – przyjmijmy, że będzie to egzamin maturalny (część zamknięta).
Funkcjonalność serwisu łopatologicznie można rozpisać na następujące segmenty:
1) Baza egzaminów – lista dotychczas przeprowadzonych egzaminów. Podział na różne typy – egzamin państwowy, egzamin lokalny, egzamin próbny.
2) Pytania – przyporządkowanie następuje do konkretnego egzaminu z poprzednio zdefiniowanych w powyższej sekcji – jakkolwiek to samo pytanie (lub podobne) mogło wystąpić w różnych wydaniach egzaminu – na przykład w roku 2006 i 2012 – dlatego też chcemy to pokazać użytkownikowi (o czym zaraz), dodając pytanie wymagana jest opcja „Wyszukaj podobne pytania” (forma AJAX-owa jak najbardziej mile widziana), gdzie ręcznie wybiorę sobie które pytanie i z którego egzaminu oznaczę jako podobne. W związku z tym, że jest to egzamin na poziomie szkoły średniej / wyższej, w pytaniach muszę mieć możliwość umieszczania równań matematycznych. Rozpisując poprzednią aplikację mieliśmy do użytku rozszerzenie, którego używało się wpisując {m}wzór matematyczny{/m} – co automatycznie było zamieniane na obrazek z wzorem matematycznym. W treści pytania fajnie byłoby mieć możliwość umieszczania też ręcznie obrazków – bardzo podoba nam się WYSIWYG, który zastosowano w WordPress.
3) Odpowiedzi - Logicznie – odpowiedź jest przyporządkowana do konkretnego pytania. Tak jak miało to miejsce w przypadku pytań – w odpowiedziach musi być możliwość umieszczenia wzorów matematycznych oraz innych znaczników HTML (pogrubienie, odnośnik itd.). Odpowiedzi są także wielokrotnego wyboru (np. A i C jest poprawne)
4) Podpowiedzi – do każdego pytania musi być możliwość zdefiniowania podpowiedzi – tak jak w przygotowaniach maturalnych – warto wskazać uczniowi gdzie ma szukać pomysłu na rozwiązanie problemu, dobrze też jest powołać się na jakieś konkretne prawo obowiązujące w chemii czy fizyce.
5) Rozwiązanie – w przeciwieństwie do odpowiedzi – nie ogranicza się jedynie do A/B/C/D, ale pozwala także na wskazanie krok po kroku drogi dochodzenia do rozwiązania.
6) Szkoły – wskazujemy szkoły, do których użytkownik może przygotowywać się w obrębie naszego systemu internetowego (np. pełna nazwa szkoły oraz adres, numer telefonu).
7) Użytkownicy – Dostęp do systemu będzie wyłącznie dla użytkowników zarejestrowanych, w związku z charakterem serwisu. Podczas rejestracji kandydat wskazuje e-mail, hasło, imię i nazwisko oraz szkołę spośród powyżej zdefiniowanych.
8) Ustawienia systemu – administrator wprowadza terminy egzaminów w każdej ze szkół oraz inne globalne ustawienia:
a) Blokada przed wielokrotnym logowaniem – jeden użytkownik może być zalogowany wyłącznie z jednego miejsca o jednym czasie. Opcja musi mieć możliwość wyłączenia.
cool.gif Blokada przed kopiowaniem treści – kawałek ciężkiego chleba w świecie obecnie istniejących na rynku przeglądarek – potrzebujemy przynajmniej podstawowych zabezpieczeń przed wykradaniem treści z naszego serwisu (kopiowania pytań, odpowiedzi, rozwiązań czy tłumaczeń).
c) Testy dostępne nieodpłatnie – współcześnie chyba każdy chce czegoś spróbować zanim zdecyduje się na zakup, dlatego też przewidując taką potrzebę naszych użytkowników chcemy wybrać kilka testów, które będzie dostępne w pełni nieodpłatnie. Dzięki temu klient będzie mógł sprawdzić sobie jak funkcjonuje Tryb Nauki, Tryb Egzaminu i zdecydować czy chce się w taki sposób przygotowywać.
9) Rozliczenia – w związku z tym, że system nie jest systemem non-profit - wymagana jest funkcja obsługi płatności bezobsługowych – nie wybrzydzamy: Platnosci, DotPay, PayU czy Transferuj.pl – jak wygodniej. Zależy nam na pełnej integracji i możliwości wyboru okresu w jakim użytkownik będzie miał dostęp do pełnej funkcjonalności serwisu oraz ceny. Ewentualnie – możliwość wyłączenia płatności jeżeli coś nie będzie działało prawidłowo.
10) Tryb nauki – klient wybiera sobie egzamin, do którego chce się uczyć i naciska „Nauka”, po czym krok po kroku wyświetlane są mu pytania w formie boxu z jednym pytaniem i dostępnymi odpowiedziami. Jeżeli zaznaczy prawidłową i naciśnie „sprawdź” to obok prawidłowej pokaże się „zielony ptaszek”, a w pozostałych czerwony krzyżyk. Jeżeli zaznaczy nieprawidłową to wyłącznie przy tej zaznaczonej nieprawidłowej pokaże się czerowony krzyżyk, a pozostałe pozostaną niezmienione. W trakcie trybu nauki klient może nacisnąć na „Podpowiedź” (o ile administrator takową dodał), a w jakiś sposób – np. pod odpowiedziami, pokaże się treść podpowiedzi – np. „Prawo Archimedesa mówi…”. Można też nacisnąć przycisk rozwiązanie (o ile administrator takie zdefiniował) i użytkownik zobaczy pełne rozwiązanie wraz ze sposobem dochodzenia do rozwiązania.
11) Tryb egzaminu – klient wybiera egzamin, który chce próbnie wykonać, po czym w bazie danych zapisywana jest godzina rozpoczęcia egzaminu i przez najbliższe X minut od rozpoczęcia egzaminu niemożliwe jest otwarcie jakiejkolwiek innej strony w serwisie (przekierowuje do egzaminu). Tryb egzaminu w przeciwieństwie do trybu nauki wyświetla się jako długa lista pytań i odpowiedzi na jednej stronie, a każdorazowe zaznaczenie jakiejkolwiek odpowiedzi wiąże się z automatycznym zapisaniem zaznaczenia do bazy danych za pomocą zapytania AJAX. Dzięki temu nawet jeżeliby brakło prądu, czy przeglądarka użytkownika przestałaby działać – może on chwilę potem powrócić do rozwiązywania zadań bez utraty wyników dotychczasowej pracy. Egzamin można zakończyć po udzieleniu odpowiedzi na wszystkie pytania za pomocą „Zakończ egzamin”. Jeżeli użytkownik nie udzielił odpowiedzi na wszystkie pytania to zostanie „przewinięty” do pierwszego nierozwiązanego pytania i poinformowany (np. komunikat javascript), że nie udzielił jeszcze odpowiedzi na pytania numer: 1, 5 ,7, 30 i musi je rozwiązać przed zakończeniem egzaminu. Jeżeli ktoś nie chce udzielać odpowiedzi na te pytania to korzysta z drugiego, alternatywnego dla „Zakończ” przycisku – przerwij egzamin – wtedy użytkownik potwierdza dodatkowo, że nie chce udzielać odpowiedzi na pozostałe pytania i zakończyć egzamin. W bazie danych zapisywana jest w obu przypadkach godzina zakończenia egzaminu dzięki czemu wiemy ile zajęło użytkownikowi rozwiązanie danego egzaminu oraz wyłączamy funkcję przekierowania na egzamin.
12) Przegląd wyników – za każdym razem gdy użytkownik wykona egzamin, wyniki zapisywane są wraz z odpowiedziami w bazie danych, dzięki czemu użytkownik w każdym momencie może powrócić do wyników swojego egzaminu, przejrzeć na które pytania udzielił odpowiedzi poprawnych, na które nie. W liście podejść do danego egzaminu w formie „progress bar” wyświetlany jest wynik wraz z przeliczeniem procentowym i ilościowym, a także godzina i data wykonania egzaminu i czas jaki użytkownik poświęcił na rozwiązanie.
13) W oparciu o średnią wyników ze wszystkich egzaminów, u góry ekranu wyświetlana jest informacje o całościowym przygotowaniu do egzaminu. Na przykład:
Klient wybrał jako swoją szkołę – Częstochowę – tam egzamin jest 1 czerwca 2013. Jeżeli egzaminów w naszym systemie dodaliśmy 10, klient kilkukrotnie wykonywał jeden i ten sam, a spośród jego wyników najlepszy wyniósł 50% to łączny wynik (średnia wyniesie: (1*50, 9*0)/10=5%, co będzie oznaczało, że klient jest bardzo słabo przygotowany do nadchodzącego egzaminu) dopiero, gdy wszystkie 10 egzaminów choć raz wykona na 100% (bierzemy pod uwagę najlepszy wynik) to wtedy będzie miał 100% przygotowania do egzaminu.
14) Prosty CMS – w związku z tym, że polskie prawo wymaga publikowania informacji o właścicielu, operatorze płatności, wykorzystaniu cookies etc. Chcielibyśmy mieć możliwość publikowania informacji dla naszych użytkowników – przede wszystkim regulaminy, polityka prywatności itd. Ale także treści zależne od typu użytkownika – np. na stronie głównej niezalogowanemu użytkownikowi wyświetlimy inne treści niż użytkownikowi zarejestrowanemu (np. tam wyświetlimy powitanie i podziękowanie).
Więcej informacji dotyczących systemu oraz zasad funkcjonowania, szaty graficznej i rozliczeń przekażę osobie, którą wybierzemy do realizacji zamówienia. Czas realizacji do 60 dni. Podpisujemy umowę, gdzie 25% przelewamy przed rozpoczęciem prac, 25% po przedstawieniu ogólnego zarysu systemu (wdrożony layout, zarządzanie egzaminami i pytaniami), 25% po wykonaniu kolejnej części (np. zarządzanie użytkownikami, rejestracja, podpowiedzi i rozwiązania), 25% po wykonaniu ostatniej części (np. płatności, kontrola postępu, przegląd wyników i reszta funkcjonalności).

W razie pytań proszę o kontakt za pośrednictwem PW.

Wstępny budżet planowany jest na 1600 zł brutto. Faktura nie jest konieczna.
pamil
Cytat(ZleceniaPHP @ 20.04.2013, 13:11:47 ) *
Wstępny budżet planowany jest na 1600 zł brutto. Faktura nie jest konieczna.

Rozumiem, że pomyłka? smile.gif
rzymek01
Co raz częściej wchodzę w ten dział, aby poprawić sobie humor smile.gif
!*!
Przecież napisał że "wstępny", a to nie to samo co ostateczny czy "więcej nie dam" wink.gif
ZleceniaPHP
Jeżeli potrzebujesz 5.000 zł i Twoje portfolio będzie świadczyć o tym, że na tyle zasługujesz to Ci tyle dam.

Brać za malucha tyle co za mercedesa po prostu jest nie na miejscu. Zamawiam auto klasy średniej i podaję cenę klasy niższej, aby mieć dobry start do negocjacji. Chyba każdy tak robi (prócz naszych rozrzutnych urzędników, którzy na portal społecznościowy dla kotów dają 102k PLN na wyjście)
lobopol
Wiesz, przeglądając takie ogłoszenie z takimi wymaganiami i czytając o takiej stawce nie chciało by mi się nawet maila wysyłać. Sądzę, że dużo innych lepszych i gorszych ode mnie zrobiłoby dokładnie to samo.
PrinceOfPersia
Cytat
Wstępny budżet planowany jest na 1600 zł brutto.

Ale za tydzień czy jak? Bo chyba nie za całość blink.gif

edit:
Cytat
Jeżeli potrzebujesz 5.000 zł i Twoje portfolio będzie świadczyć o tym, że na tyle zasługujesz to Ci tyle dam.

a jak ktoś weźmie za 1600 złotych i jego portfolio będzie świadczyć o tym, że na więcej nie zasługuje - też go zatrudnisz? To znaczy - nie zależy Ci na jakości?
!*!
Przesadzacie. Ogłoszenie jest konkretne, te 1600zł brutto nie wygląda za dobrze, ale w końcu od czego są negocjacje? Nie raz zaczyna się od chociażby takiej kwoty, żeby uświadomić klienta że to nie będzie takie tanie i wychodzi się później na swoje. Nikt nie mówi, że klient ma wiedzieć i znać rynek na tyle, aby zaproponować normalną stawkę.
ZleceniaPHP
Otrzymałem kilka ofert, zgodnie z moimi oczekiwaniami otrzymałem informację o:
- Portfolio
- Sugerowanej cenie (niektóre niewiele droższe, inne kilkukrotnie wyższe niż 1600 zł)

O to mi właśnie chodziło. Jeżeli ktoś jeszcze chce podrzucić swoje propozycje- proszę o PW. Myślę, że do poniedziałku temat zamkniemy i podpiszemy umowę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.