بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم
FIK Open Courseware (FIK-OCW) adalah sebuah platform belajar bagi Mahasiswa Fakultas Ilmu Komputer UPN "VETERAN" Jawa Timur. Platform ini mengadopsi dari platform belajar lain seperti Dicoding, Codepolitan dan sebagainya. Platform ini mendukung media belajar seperti pemberian materi dari dosen dalam bentuk unduh PDF maupun video pembelajaran. Selain itu, Platform ini dapat menampung tugas dari mahasiswa FIK UPNVJATIM yang akan mengumpulkan tugasnya ke dosen.
Web ini menggunakan Flask sebagai Backend Framework yang ditulis dalam bahasa pemrograman Python, MongoDB sebagai database, dan Firebase sebagai storage. Ada 3 tipe user dalam program ini, yaitu Admin, Dosen, dan Mahasiswa. Fitur untuk ketiga tipe pengguna tersebut akan dijelaskan lebih lanjut. Berikut ini adalah ilustrasi hubungan antar tools yang kami gunakan dalam membangun FIK-OCW :
Keterangan tiap tools :1. Frontend kami menggunakan Bootstrap yang beberapa .css dan .js nya ada yang kami buat/kustom sendiri.
2. Layanan email kami menggunakan Flask Mail yang langsung terintegrasi dengan Google Mail.
3. Kami menggunakan Flask sebagai framework utama.
4. Untuk mengakses database yang tersimpan pada Cloud MongoDB server kami menggunakan PyMongo.
5. Untuk mengakses cloud storage yang berada pada Firebase server kami menggunakan Pyrebase.
6. Website ini dihosting pada Heroku yang memanfaatkan Gunicorn sebagai server deployment'nya Flask.
Silahkan ketik perintah berikut ini secara berurutan pada terminal(Linux/Mac) atau CMD(Windows) kalian jika ingin mencoba untuk menjalankannya pada localhost masing-masing :
git clone https://github.com/rakhid16/fp-pemframework.git
cd fp-pemframework
atau
mkdir fik_ocw
cd fik_ocw
git init
git pull https://github.com/rakhid16/fp-pemframework.git
pip3 install -r requirements.txt
atau
pip install -r requirements.txt
python3 main.py
atau
python main.py
4 Akses http://127.0.0.1:5000/
Landing page FIK-OCW :
Ketik ctrl + c pada terminal/CMD kalian jika ingin mematikan server flask'nya.
DISCLAIMER : Karena memperhatikan faktor keamanan pada cloud storage/database, kami tidak mencantumkan API keys dari Firebase dan MongoDB serta akun yang digunakan untuk menggunakan flask mail. Jadi merupakan hal yang wajar apabila jika menjalankan program ini secara default setelah kalian melakukan pull/clone repositori ini akan terjadi kegagalan.
Silahkan fork repositori ini terlebih dahulu setelah itu kalian bebas mengembangkan proyek ini.
Creative Commons Zero v1.0 Universal
Jazakumullah khairan kepada :
👨 Maulana Idris
😄 Fitri Aulia Y P
👦 Rakhman Wahid
👨 Amir Fanani
Atas kerja sama dan bantuan'nya selama pengerjaan proyek ini!
1. Pengunjung Umum
- Landing Page
- Login
- Akses laman lupa sandi
- Kirim pesan kepada tim pengembang
2. Admin
- Ubah sandi akun
- Lihat data dosen dan mahasiswa
- Hapus data dosen dan mahasiswa
- Edit data dosen dan mahasiswa
- Tambah akun baru untuk dosen dan mahasiswa
- Keluar dashboard
3. Dosen
- Ubah sandi akun
- Buat dan lihat mata kuliah yang diampu
- Hapus mata kuliah yang diampu
- Tambahkan materi berupa video (.mp4) dan .pdf ke setiap matkul per-pekan/pertemuan
- Tambahkan tugas untuk mahasiswa ke setiap matkul per-pekan
- Hapus mata materi maupun tugas pada setiap matkul per-pekan
- Edit mata materi maupun tugas pada setiap matkul per-pekan
- Mendapatkan email pemberitahuan setelah ada mahasiswa yang mengunggah tugas (telat/tepat waktu)
- Mengunduh tugas yang dikumpulkan oleh mahasiswa pada setiap matkul per-pekan
- Menambah dan mengedit nilai mahasiswa pada setiap matkul per-pekan
- Keluar dashboard
4. Mahasiswa
- Ubah sandi akun
- Lihat/ambil mata kuliah yang tersedia
- Lihat/hapus mata kuliah yang telah diambil
- Belajar onlie melalui video streaming yang disediakan oleh dosen pada setiap matkul per-pekan/pertemuan
- Mengunduh materi berupa .pdf yang telah disediakan dosen pada setiap matkul per-pekan/pertemuan
- Mengunggah tugas yang diberikan oleh dosen dalam bentuk .zip pada setiap matkul per-pekan/pertemuan
- Menghapus tugas yang telah terunggah
- Melihat nilai setiap matkul per-pekan/pertemuan
- Mendapatkan email pemberitahuan setelah mengunggah tugas (telat/tepat waktu)
- Keluar dashboard