Baru-baru ini, tim kami menerima permintaan untuk membuat sistem tiket prototipe, yang dilakukan selama sekitar 40 jam kerja termasuk diskusi tentang "TK", desain, implementasi, dan bahkan beberapa perbaikan. Kami melakukan dan berpikir bahwa aplikasi sederhana semacam itu bisa sangat berguna bagi khalayak luas. Pada akhirnya, kami menyulap sedikit tentang IONDV. Kerangka kerja, mereka datang dengan tujuan sosial dan pada saat yang sama menguji IONDV. Studio

Bertemu - IONDV. Tickets adalah aplikasi tipe registry open-source untuk mengeluarkan kupon makanan sosial. Aplikasi ini diimplementasikan pada IONDV. Kerangka kerja dalam IDE khusus - IONDV. Studio Seperti biasa, demo dan video tersedia , dan aplikasi itu sendiri diterbitkan di GitHub di bawah lisensi Apache 2.0
terbuka. Di sini, kami berbagi dengan Anda proses pembuatan aplikasi - dari ide hingga prototipe.
Ide
Dan idenya sangat sederhana, mengingat kami sudah memiliki inspirasi, kami sedikit mengungguli detailnya. Tujuan dari sistem ini adalah untuk melacak penerbitan dan pencairan kupon untuk nutrisi sosial untuk kategori warga negara tertentu, dan semua ini demi mengoptimalkan kerja layanan sosial atau LSM yang berorientasi sosial. Dengan demikian, pengguna sistem harus memiliki fitur berikut:
- Institusi kartu penerima dengan data seperti nama, tanggal lahir, jenis kelamin, dll.,
- Pembentukan kartu kupon dengan data seperti tanggal penerbitan, tanggal penyelesaian, status, dll.,
- Melakukan kupon status untuk proses bisnis,
- Akses berbasis peran untuk spesialis yang berbeda (operator dan kasir, administrator dan moderator),
- Fungsionalitas tambahan: kotak centang dengan kategori, lampiran pindaian, bentuk cetak kupon, integrasi portal.
Simulasikan sebuah situasi
Seorang warga datang ke sosial. perlindungan untuk kupon makanan sosial. Pekerja sosial perlindungan (dan bagi kami - Operator Sistem) memulai kartu pengguna, mendefinisikan kategori / s dan membuat 4 kupon untuknya selama sebulan dan mengeluarkan semua 4 kupon sekaligus. Warga negara harus menebus kupon dalam waktu satu bulan di toko / kantin / titik pengambilan, garis bawahi apa yang diperlukan untuk jumlah yang ditunjukkan dalam kupon, yang tergantung pada jumlah kategori yang ditetapkan. Ketika dia membeli kupon, karyawan (dengan peran "Kasir") menemukan nomor kuponnya dalam daftar dan, jika kupon itu belum kedaluwarsa (tidak disorot dengan warna merah dalam daftar dan tanggal kedaluwarsa lebih panjang dari yang sekarang), ia mengakui kupon itu, setelah itu tidak lagi berlaku.
Dari kategori fantasi atau fungsi tambahan
Anda dapat mengajukan kupon di email. formulir pengaturan integrasi dengan portal apa pun. Kami menyajikannya seperti ini: warga negara mengisi formulir tanda terima layanan dan mengirimkan aplikasi. Ini ditampilkan di sosial karyawan. perlindungan dalam navigasi “Email. aplikasi ”atau di widget di dasbor“ Ketersediaan email. aplikasi ”. Operator memproses aplikasi dan menolak aplikasi yang menunjukkan alasannya, atau menerima. Keuntungan tambahan adalah bentuk kupon yang dicetak. Pada formulir pengeditan warga, Anda dapat mengunggah kupon untuk dicetak dan diberikan kepada warga negara, atau mengirim versi elektronik melalui surat.
Detail itu
Aplikasi IONDV. Tiket didasarkan pada teknologi milik IONDV. Kerangka kerja Ini adalah kerangka node.js sumber terbuka untuk membuat aplikasi web berbasis metadata tingkat tinggi, yang tidak memerlukan keterampilan pemrograman yang serius. Inti dari kerangka kerja ini adalah model data independen, API kernel, modul fungsi, dan template presentasi. MongoDb digunakan untuk DBMS - ia menyimpan pengaturan aplikasi, metadata dan data itu sendiri. Kerangka kerja berjalan di Node.js. Semua bersama-sama menyediakan kerangka kerja lintas platform.
Kombinasi IONDV. Studio + IONDV. Kerangka + IONDV. Apps (pembangun aplikasi dari repositori) - adalah sistem prototyping cepat. Di dalamnya, Anda bisa mendapatkan aplikasi web untuk mengerjakan logika bisnis dan struktur data, keamanan, dan API REST yang sudah jadi - sehingga Anda dapat mengedit bagian depan dengan sudut atau reaksi favorit Anda. Dan sabun - untuk mengetahui integrasi.
Proses penciptaan
Kami telah menghapus seluruh proses pembuatan aplikasi IONDV. Tiket di IONDV. Studio Cari instruksi lengkap di repositori Studio , tempat Anda dapat mengulangi proses langkah demi langkah.
Tahapan penciptaan:
- Buat kelas
- Buat navigasi
- Buat Tampilan
- Buat proses bisnis
Kelas
Jadi, sebagai permulaan, semuanya sederhana - pembuatan aplikasi dimulai dengan tombol "+ Buat aplikasi pertama Anda". Di jendela pop-up, isi 2 baris tentang aplikasi masa depan - nama dan deskripsi. Dan beralih ke membuat kelas. Kelas dasar aplikasi adalah "Tiket", "Orang", "Penerima", "Dokumen". Kami membuat kelas dan atributnya. Setelah itu, kita beralih ke penyempurnaan yang lebih halus dari properti tertentu.
Untuk kelas "Penerima", kami menyiapkan pewarisan komposisi atribut dari kelas "Person", yaitu kelas "Penerima" memiliki semua atribut dari kelas "Orang" + sendiri. Juga untuk kelas "Penerima" membuat hubungan tipe "Koleksi" untuk atribut "Tiket". Kami menentukan kelas "Tiket" sebagai referensi. Koleksi dibuat sehingga pada bentuk objek kelas koleksi objek "Tiket" ditampilkan. Kami ulangi pengaturan koneksi untuk kelas lain dan sebagai hasilnya, kami harus mendapatkan skema aplikasi seperti itu.

Selanjutnya, kami mengonfigurasi detail penting:
- Formula untuk menghitung jumlah kupon maksimum yang diijinkan
- Batasi pembuatan lebih dari 4 kupon
- Formula untuk menghitung tanggal kedaluwarsa kupon
Navigasi
Buat bagian dan item navigasi. Bagian - mengelompokkan item menu sesuai dengan atribut apa pun. Untuk membuat bagian navigasi, buka bagian "Navigasi" dan pilih tindakan "+ Bagian". Kami mengelompokkan semua item menu menjadi satu bagian, menggabungkannya sesuai dengan tema aplikasi itu sendiri - "Tiket Gizi".
Setelah membuat bagian navigasi, tombol untuk membuat item navigasi telah tersedia. Dalam hal ini, setiap item navigasi yang dibuat adalah halaman kelas itu sendiri, masing-masing, kami juga menyebutnya.
Tampilan
Formulir presentasi memungkinkan Anda untuk menentukan struktur atributif sewenang-wenang untuk berbagai representasi atribut kelas dalam sistem. Ada tiga bentuk presentasi: formulir buat (buat), bentuk daftar (daftar), dan bentuk edit (item). Pilih bagian "Kelas", dan kemudian tindakan "Lihat" pada panel kerja. Di daftar, pilih jenis formulir dan bentuk presentasi dengan menyeret blok atribut.
Pada formulir presentasi, Anda dapat mengatur properti tambahan - topeng untuk atribut nomor telepon dan gaya untuk menampilkan objek dalam daftar. Misalnya, sorot kupon kedaluwarsa dengan warna merah.

Proses bisnis
Untuk objek dari kelas "Tiket", proses bisnis 3 status diperlukan: "Diterbitkan oleh", "Diakui", "Kedaluwarsa". Pada panel kerja bagian "Alur kerja", pilih tindakan untuk membuat status proses bisnis + Status dan isi bidang formulir. Selanjutnya, kami mengonfigurasi transisi antara status proses bisnis dengan mengklik tombol “+ Transisi”. Hasilnya, kami mendapatkan skema berikut:

Tentang studio
Studio adalah aplikasi IONDV. Kerangka kerja untuk membuat dan mengedit metadata (seperti kelas, navigasi, tampilan, proses bisnis, bentuk portal) yang dapat digunakan sebagai aplikasi web IONDV. Kerangka kerja Itu juga dapat digunakan sebagai aplikasi node.js
mandiri atau sebagai aplikasi desktop. Keuntungan menggunakan aplikasi mandiri adalah bahwa tidak perlu untuk database dan IONDV. Kerangka kerja
Cara memulai aplikasi, lihat di sini .
Di mana harus mencari dan menyentuh?
Di Linux, Anda dapat menginstal aplikasi dalam satu baris, jika git, node.js dan mongodb diinstal secara lokal menggunakan installer aplikasi iondv. Script akan menginstal dependensi lingkungan, mengkloning semua repositori yang diperlukan dari kerangka kerja, modul dan aplikasi dari GitHub, mengumpulkan, memulai, dan meluncurkan aplikasi:
bash <(curl -sL https://raw.githubusercontent.com/iondv/iondv-app/master/iondv-app) -q -i -m localhost:27017 tickets
Di mana alih-alih localhost: 27017 Anda perlu menentukan alamat MongoDb.
Anda juga dapat meluncurkan wadah buruh pelabuhan:
# docker network create iondv # mongodb docker run --name mongodb --net iondv -v mongodb_data:/data/db -p 27017:27017 -d mongo # IONDV. Tickets docker run -d -p 8888:8888 --net iondv iondv/tickets
Setelah memulai, buka tautan http://localhost:8888
. Untuk back office, login: demo, kata sandi: ion-demo dengan hak administrator. Pengguna kedua dengan hak operator terbatas adalah demo-sandi kata sandi operator.
Uji aplikasi demo .
Ada tiga peran utama: operator, kasir, pengontrol. Nama peran sesuai dengan loginnya, kata sandi adalah satu untuk ketiga login - ion-demo. Akun dengan hak Admin - login - demo, kata sandi - ion-demo.
Akankah kita mencoba?
Jika Anda ingin mengulang pengalaman kami, kami menulis instruksi terperinci "Cara membuat aplikasi Tiket di IONDV. Studio" . Ada banyak tangkapan layar untuk Anda lihat apa yang dibuat di studio = buat. Alangkah baiknya jika aplikasi ini menginspirasi Anda untuk membuat sistem akuntansi Anda sendiri. Tujuan kami adalah menunjukkan betapa mudah dan cepat sebuah ide berubah menjadi prototipe nyata.
Jika Anda menemukan kesalahan, maka tulis di komentar atau di repositori aplikasi Issue di GitHub. Bagikan ide Anda, di mana lagi Anda akan menerapkan sistem yang sama? Apa yang akan Anda ubah?