Generator Jadwal Uoft bertujuan untuk membuat jadwal universitas terbaik untuk setiap siswa Uoft. Dilengkapi dengan algoritma genetika yang paling akurat, ini dapat membuat jadwal terbaik berdasarkan preferensi pengguna seperti mengatur waktu maksimum untuk kelas terbaru, atau memiliki jarak berjalan terkecil di antara kelas.
Proyek Generator Jadwal Uoft adalah proyek pengembangan web tumpukan penuh. Ini terdiri dari beberapa komponen: Penjara Web, infrustruktur database SQL, model data, perpustakaan generator jadwal, penganalisa algoritma genetika, C# API Web, dan aplikasi web ujung depan JS Angular.
Proyek ini terdiri dari beberapa komponen, masing -masing bertanggung jawab untuk melakukan tugas tertentu untuk mendapatkan jadwal terbaik. Gambar di bawah ini menggambarkan arsitektur sistem proyek.
Pengguna akan menggunakan aplikasi web front-end untuk menghasilkan jadwal mereka. Di beranda, mereka pertama -tama harus menentukan kursus yang akan mereka ambil.
Mengetik tiga huruf pertama dari kode kursus di bilah pencarian akan mengungkapkan kursus yang relevan dan tersedia.
Setelah memilih kursus, klik tombol "Hasilkan Jadwal". Kemudian akan menghubungi server untuk menghasilkan jadwal, dan menavigasi ke halaman jadwal. Jadwal yang dihasilkan akan ditampilkan dalam ikon seperti gambar di bawah ini.
Selain itu, pengguna dapat menentukan pembatasan dan preferensi untuk menyesuaikan jadwal mereka dengan kebutuhan mereka. Ini dilakukan dengan mengklik tombol Preferensi atau Pembatasan di bagian atas halaman. Panel Preferensi/Pembatasan akan muncul, mengungkapkan opsi yang dimiliki pengguna. Menerapkan pembatasan/preferensi baru mereka akan meregenerasi jadwal mereka.
Pengguna dapat melihat, mencetak, dan menandai jadwal favorit mereka dengan mengklik salah satu jadwal yang dihasilkan.
Harap dicatat bahwa proyek ini digunakan untuk tujuan pendidikan dan tidak dimaksudkan untuk digunakan secara komersial. Kami tidak bertanggung jawab atas kerusakan/perubahan yang dilakukan oleh proyek ini.
Emilio Kartono, yang membuat seluruh proyek.
Proyek ini dilindungi di bawah lisensi GNU. Silakan merujuk ke lisensi.txt untuk informasi lebih lanjut.