Projekt Moodle

Platforma e-learningowa

Celem projektu było napisanie w pełni działającej aplikacji e-learningowej, umożliwiającej wysyłanie materiałów, tworzenie testów, wystawianie ocen i administrowanie kursem. Do użytku dla uczniów i nauczycieli. Zawierającą zaawansowany panel administracyjny dla nauczycieli i adminów. Projekt został stworzony na potrzeby zaliczenia programowania w czwartej klasie technikum informatycznego. Tworzony na przełomie października i listopada 2015 przez dwóch “mózgów”, których dane można znaleźć w wysłanych commitach.


Info

git clone https://github.com/bartoszgajda55/projektMoodle.git

foto

Od początku zadanie wydawało się całkiem złożone, bo całość miała być dosyć mocno rozbudowanym systemem e-learningowym (mówiąc „dosyć mocno rozbudowanym” mam na myśli „mocno rozbudowanym jak na umiejętności programistyczne uczniaków technikum”). Projekt miał być podobno do platform takich jak Moodle. Zadanie od pana Grzesia prezentowało się następująco:

Celem projektu jest stworzenie niezbyt prostego systemu e-lerningowego. Projekt powinien umożliwiać rejestrowanie trzech typów użytkowników:

  • administrator
  • nauczyciel
  • student

Administrator powinien mieć możliwość zarządzania wszystkimi, kursami i użytkownikami aplikacji.

Każdy użytkownik, który rejestruje się do aplikacji powinien zostać zarejestrowany jako student. Administrator może zmienić konto studenta na konto nauczyciela.

Nauczyciel ma możliwość tworzenia kursów. W obrębie własnego kursu nauczyciel ma możliwość zapisywania użytkowników, dodawania plików do lekcji, tworzenia zadań, umożliwiających pobranie pliku od użytkownika lub bezpośredniej treści wpisanej na stronie zadania (podobnie jak w moodle).

Student powinien mieć możliwość wejścia tylko do kursów, na które jest zapisany. Studenta może zapisać tylko administrator lub student może dokonać tego samodzielnie na podstawie kodu, który otrzyma od nauczyciela.

Pozwoliłem sobie je tutaj „przekleić”, bo wyraża ono więcej niż tysiąc słów 😉

Prezentacja

Po wejściu do serwisu użytkownik jest raczony pięknym ekranem logowanie i nie mniej brzydszym zdjęciem w tle. W systemie istnieją trzy typy użytkowników: administrator, nauczyciel i biedny uczniak. Dane do logowania są zamieszczone poniżej, w sekcji Instalacja.

Po zalogowaniu na ucznia na monitorze ukazują się takie tabelki:

foto

Jest to panel użytkownika, gdzie może on przejść do swoich kursów. Warto zauważyć jedną, nader ciekawą rzecz: w systemie jest zawarty kurs „Programowanie Extremalne” a także został wyjaśniony odwieczny spór pomiędzy biologami a informatykami pt: „Co to jest potok i strumień”! Zachęcam do przejrzenia tychże kursów.

Każdy kurs składa się z wielu lekcji. Przykładowa lekcja z kursu prezentuje się następująco

foto

Jest temat i treść od nauczyciela prowadzącego dany kurs. Dodatkowo do każdej lekcji nauczyciel może dodać pliki (dodatkowe materiały) do pobrania przez ucznia. Lekcja może wymagać odpowiedzi zwrotnej od ucznia, takiej jak odesłanie pliku tworzonego na zajęciach albo napisanie odpowiedzi tekstowej.

Do kursu uczeń może dołączyć na dwa sposoby. Pierwszy z nich to dodanie go przez prowadzącego, a drugi to wpisanie odpowiedniego kodu kursu: foto

Oprócz uczniów, w aplikacji są jeszcze administratorzy i nauczyciele. Administrator ma największe prawa, może zarządzać wszystkim i wszystkimi. Zobaczmy, jak serwis wygląda od strony władczej.

Nauczyciel i Administrator mają dostęp do panelu zarządzania kursami, który prezentuje się następująco

foto Dzięki wygodnemu panelowi nauczyciel może przeglądać, edytować i usuwać swoje kursy. Ma też możliwość zarządzania lekcjami w danym kursie, poprzez ich edycję, usuwanie bądź przenoszenie:

foto Tak jak już było wspomniane, nauczyciel może do lekcji dodawać własne pliki, a także wymagać odpowiedzi przez ucznia (tekstowej albo w formie przesłania pliku). Następnie odpowiedzi można przeglądać w wygodnej formie:

foto

foto

Nauczyciel ma możliwość dodawania i usuwania użytkowników z kursu:

foto

Natomiast administrator może zarządzać wszystkimi użytkownikami: zmieniać ich rangi (z ucznia na nauczyciela), blokować, usuwać konta. Administrator zarządza też wszystkimi kursami. Może zablokować kurs, który porusza nazbyt dwuznaczne tematy

foto

Z grubsza to by było na tyle, jeśli chodzi o opis. Zachęcam do samodzielnego przetestowania całej „aplikacji”. Opis jak to zrobić znajduje się poniżej.

Instalacja

Instalacja sama w sobie jest bardzo prosta i szybka. Projekt potrzebuje jedynie serwera z interpreterem PHP oraz bazy danych MySQL.

Na sam początek pobieramy projekt. Możemy to zrobić za pomocą komendy git clone, która jest umieszczona na samym początku tego wpisu, albo pobrać go z paczki ZIP: github.com/bartoszgajda55/projektMoodle/archive/master.zip

W pliku baza/polaczenie.php znajdują się konfiguracja połączenia z serwerem bazy. Domyślnie jest to

    $adres = '127.0.0.1';
    $uzytkownik = 'root';
    $haslo = '';
    $nazwa_bazy = 'projektMoodle';

W projekcie jest instalator, który sam wykryje, że nie ma zaimportowanych tabel. Wystarczy, aby powyższe dane były wpisane poprawnie, a cały proces „instalacji” będzie prowadził użytkownika „za rączkę”. Gdyby jednak tak się nie stało, to w folderze baza/ znajdują się kilka ostatnich zrzutów bazy, które trzeba zaimportować np. poprzez phpMyAdmin.

Prawa folderów

Dla folderu upload/ oraz wszystkich jego podfolderów musimy nadać prawa zapisu (np. nigdy niezawodny chmod 777).

Przykładowe dane logowania

Przykładowe dane logowania wyglądają następująco

Typ Login Hasło
Admin test test
Nauczyciel test2 test2
Uczeń test3 test3

To by było na tyle 😀

comments powered by Disqus