Lulusan kursus semester "Pengembangan Aplikasi iOS", Technopark Mail.ru

Sekelompok baru lulusan kursus semester "Pengembangan iOS" dari Technopark (Universitas Teknik Negeri Bauman Moscow) membela proyek kelulusan mereka musim ini. Itu adalah semester percobaan, semua kelas online. Para guru telah memilih empat solusi paling menarik yang ingin kami sampaikan kepada Anda:



  • Aplikasi Guru Pribadi untuk tutor.
  • Aplikasi LocalFootball untuk turnamen sepak bola.
  • Aplikasi PhoRent untuk penyewaan peralatan.
  • Aplikasi TastyThings untuk memasak resep.


Aplikasi Guru Pribadi untuk tutor



Semakin banyak siswa, semakin sulit bagi tutor untuk menyusun dan menyimpan semua informasi yang terkumpul. Anda harus menyimpan semuanya di kepala Anda, atau membuat skema penyimpanan Anda sendiri pada media yang berbeda dan dalam format yang berbeda, yang tidak nyaman. Oleh karena itu, orang-orang membuat aplikasi di mana mereka akan menyimpan dan menyusun segala sesuatu yang berkaitan dengan pekerjaan tutor.



Aplikasi ini terdiri dari tiga layar utama:



  • jadwal,
  • siswa,
  • keuangan.




Layar jadwal membantu Anda dengan cepat menemukan pelajaran untuk tanggal tertentu. Judul mendapatkan nama bulan sebagai string dari viewModel (aplikasi ditulis sesuai dengan pola arsitektur MVVM). Blok hari dalam seminggu adalah tampilan tumpukan statis. Hari dalam sebulan - collectionView di mana jumlah sel sesuai dengan jumlah hari di bulan yang dipilih + diimbangi relatif terhadap hari pertama dalam minggu di bulan tersebut.



Di bawah kalender adalah tableView dengan informasi utama tentang pelajaran untuk hari ini: foto dan nama siswa, nama pelajaran, waktu dan tanggal, harga untuk pelajaran (label harga akan berwarna hijau jika pelajaran dibayar).



Layar siswaberfungsi sebagai gudang untuk semua siswa, seperti buku telepon. Ini adalah tableView layar penuh. Sel khusus yang sama digunakan, hanya diisi dengan informasi yang berbeda.



Ketika Anda mengklik pada seorang siswa, Anda akan dibawa ke halaman pribadinya dalam aplikasi. Itu mengandung:



  • Informasi tentang kelas dan hutang yang dibayar.
  • Daftar semua kelas yang lalu dan yang akan datang, diurutkan berdasarkan tanggal dan waktu.


Ada tombol peta di stackView dengan jumlah untuk pelajaran dan hutang berbayar. Mengkliknya akan membuka mapController berbasis MapKit dan menampilkan lokasi alamat siswa dengan fotonya. Anda bisa membuat rute hiking di sana.



Dan ketika Anda mengklik pada beberapa pelajaran di halaman pribadi siswa, aplikasi membuka halaman terpisah dengan semua informasi tentang pelajaran ini:



  • Status waktu dan pembayaran.
  • Pekerjaan rumah.
  • Catatan pelajaran.
  • Menambahkan foto dari pelajaran.






Halaman pelajaran terdiri dari blok:



  • Yang teratas adalah stackView dengan informasi tentang nomor urut pelajaran, tanggal, waktu, dan biaya.
  • Medium - koleksi dengan gulir horizontal untuk menambahkan foto.
  • Yang paling bawah adalah tiga textViews dengan pekerjaan rumah, catatan tentang pelajaran sebelumnya, dan kotak teks untuk pemberitahuan push di masa depan.


Akhirnya, layar utama ketiga adalah layar keuangan . Di bagian atas, grafik dibuat untuk semua pelajaran berbayar untuk bulan itu, di bawah ini adalah daftar pelajaran ini diurutkan berdasarkan tanggal. Dimungkinkan untuk mendaftar semua aktivitas yang belum dibayar dan menampilkannya dalam tableView.







Aplikasi ini dibuat menggunakan teknologi:



  • Firebase.
  • Data Inti.
  • MVVM.


Basis data Firebase digunakan untuk menyimpan semua data siswa dan kelas kecuali untuk foto. Selain itu, basis data ini memungkinkan Anda untuk bekerja offline tanpa kode duplikat. Penyimpanan cloud Firebase digunakan untuk menyimpan foto dan snapshot siswa dari kelas, sementara pekerjaan offline dengan foto disediakan menggunakan CoreData. Firebase Authentication digunakan untuk otorisasi. Adapun arsitektur, proyek ini dibangun sesuai dengan pola MVVM .



Di masa depan, penulis berencana untuk membuat aplikasi untuk siswa dan obrolan antara guru dan siswa.



Tim proyek: Vasily Sakharov, Nikita Pavlov.



Perlindungan proyek .



Aplikasi LocalFootball untuk turnamen sepak bola



Aplikasi ini akan menarik bagi penggemar dan pemain serta penyelenggara turnamen itu sendiri. Di sini Anda dapat melihat semua informasi yang diperlukan:



  • Data turnamen.
  • Papan dalam dua bentuk.
  • Statistik tim terkini.
  • Jadwal dan hasil pertandingan.






LocalFootball juga dapat menambahkan data ke kalender dan mengingatkan Anda sebelumnya tentang pertandingan yang akan datang.



Aplikasi memiliki arsitektur berikut:





Aplikasi ini dibuat menggunakan teknologi:



  • MVC + Injeksi Ketergantungan
  • CoreData + FetchResultsController
  • SwiftyJSON
  • .xib + AutoLayout
  • SDWebImage
  • EventKit


Proyek ini dibangun di atas arsitektur MVC, dan untuk menghindari masalah khas dari pola ini, penulis:



  • memisahkan logika UI umum dari semua ViewControllers menjadi superclass terpisah;
  • memindahkan pekerjaan dengan kalender ke modul terpisah;
  • menggunakan kelas konfigurator untuk setiap sel tabel.


Proyek ini juga menggunakan pola Ketergantungan Injeksi untuk lapisan jaringan. Dan membuat kelas yang mudah dikonfigurasi dengan data uji membantu Anda menguji berbagai skenario dan penanganan kesalahan.



CoreData digunakan untuk menyimpan data pada perangkat, dan untuk menampilkannya FetchResultsController. Antarmuka dibangun dengan file .xib dan AutoLayout. SwiftyJSON digunakan untuk mem-parsing data, SDWebImage digunakan untuk memuat dan menampilkan gambar, dan kemurnian kode dipastikan menggunakan SwiftLint.



Karena jumlah informasi untuk menampilkan layar tim dan turnamen kecil, semua data yang diperlukan untuk mereka dimuat dengan satu permintaan. Dan biasanya ada lebih banyak kecocokan, jadi mengunduhnya secara bersamaan bukanlah ide yang baik. Untuk memuat tambahan yang cocok, pagination diimplementasikan dalam aplikasi.



Di masa depan direncanakan:



  • Mengembangkan layar terperinci dari tim sepak bola dengan daftar itu.
  • Tambahkan pemberitahuan push dengan skor pertandingan saat ini.
  • Buat aplikasi terpisah untuk penyelenggara turnamen.


Tim proyek: Anna Akentieva, Daria Leonova, Danil Rogozin.



Perlindungan proyek .



Aplikasi PhoRent untuk penyewaan peralatan



Pertama-tama, aplikasi itu dibuat untuk menyewa peralatan fotografi. Hari ini ini sudah menjadi segmen pasar yang nyata, tetapi tidak ada aplikasi khusus yang nyaman di dalamnya. PhoRent membantu Anda dengan cepat dan visual melihat peralatan yang ditawarkan untuk disewa, membandingkan kondisi dan memesan.





Item sewa dibagi ke dalam beberapa kategori. Ada pencarian dan filter berdasarkan harga sewa dan pabrik. Anda dapat menentukan jumlah unit sewaan - nilai maksimum dibatasi oleh saldo saat ini dalam database. Anda juga dapat menentukan tanggal mulai dari sewa dalam pesanan. Semua item yang dipilih pertama kali dimasukkan ke dalam kereta dan kemudian pengguna membayar harga sewa total. Profil menyimpan informasi tentang pesanan sebelumnya.



Namun, aplikasi ini dapat digunakan untuk menyewa tidak hanya peralatan fotografi, tetapi secara umum setiap barang (kecuali, mungkin, real estat dan transportasi, di segmen pasar ini sudah ada alat yang serius). Jadi PhoRent dapat menjadi alat yang nyaman tidak hanya bagi mereka yang perlu menyewa sesuatu, tetapi juga untuk perusahaan yang perlu memperluas basis klien mereka.



Aplikasi ini dibuat menggunakan teknologi:



  • Cepat.
  • Burung pekakak.
  • Node.js.
  • FireBase.
  • FireStore.


Aplikasi ini dibangun sesuai dengan pola arsitektur MVP . Ini telah menambahkan layanan untuk berbagai tugas:



  • ModuleBuilder untuk membuat windows,
  • Router untuk komunikasi dan transisi di antara mereka,
  • NetworkService untuk jaringan.


Storyboard tidak digunakan, jadi semua transisi dibuat dalam kode, beberapa halaman dirender dalam xibs.



Untuk menyimpan informasi tentang pelanggan dan pesanan, FireStore digunakan, yang bagian servernya ditulis dalam Node.js. Di FireStore yang sama, URL gambar disimpan, gambar itu sendiri berada di penyimpanan FireBase, dan mereka dimuat ke dalam aplikasi menggunakan KingFisher. Pengguna diautentikasi melalui FirebaseAuth.



Beberapa sel dalam tabel dengan produk dapat dikustomisasi tergantung pada kebutuhan perusahaan tertentu. Di profil pengguna, Anda dapat mengatur avatar, ada cek alamat email dan nomor telepon.



Tim proyek: Elena Kacharmina, Ilya Buzyrev, Alexander Setrov.



Perlindungan proyek .



TastyThings Aplikasi Memasak



Para penulis terinspirasi oleh cinta mereka untuk makanan lezat dan persiapannya. Orang-orang ingin memiliki semua resep favorit mereka, jadi mereka membuat aplikasi yang nyaman untuk menyimpannya, yang dapat bekerja secara offline dan secara otomatis menghitung konten kalori dari hidangan.



TastyThings juga memiliki fitur sosial: pengguna dapat berbagi resep. Ada sistem penilaian pengguna dan kemampuan menyukai resep. Aplikasi ini memungkinkan Anda untuk mencari berdasarkan bahan (dan tidak hanya) untuk menyiapkan hidangan menarik dari apa yang ada di lemari es







. Firebase digunakan untuk menyimpan resep dan data pengguna, serta untuk otorisasi.

Seluruh antarmuka dibuat di SwiftUI.



Tim proyek: Anton Ukhanov, Ilya Shevchuk.



Perlindungan proyek .



* * *



Segera kami akan memberi tahu Anda tentang proyek kelulusan paling menarik dalam pengembangan Android, C ++, jaringan saraf, pengembangan front-end, Go dan pembuatan antarmuka. Anda dapat membaca lebih lanjut tentang proyek pendidikan kami di tautan ini . Dan lebih sering pergi ke saluran Technostream , secara teratur muncul video pelatihan baru tentang pemrograman, pengembangan dan disiplin ilmu lainnya.



All Articles