Git Product home page Git Product logo

moneytory's Introduction

Welcome my Friend ๐Ÿ‘‹๐Ÿ˜Š

My name is Adhy Wiranto, you can call me Adhy (pronouns: adi), a Frontend Web Developer at Cloud Solution Company based on Singapore ๐Ÿ˜Ž

๐Ÿ“ซ How to reach me


GitHub Status

Most used languages

moneytory's People

Contributors

adhywiranto44 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

hmasran-d108

moneytory's Issues

Data menu dan sub-menu

INFO:

  • main_menus adalah kumpulan data menu seperti menu Barang Mentah dimana menus adalah kumpulan data menu yang bergantung pada data di main_menus
  • menu adalah halaman yang real yang diakses user, main_menu hanya sebagai nama induk dari suatu halaman namun tidak punya halaman tersendiri

TODO:

  • hapus kolom role_id pada create_menus_table
  • hapus kondisi getByRoleId pada MenuService (dimunculin dulu semua menu nya)
  • tambahkan kolom main_menu_id (FK) pada tabel migrasi menus
  • buat tabel migrasi main_menus yang berisi kolom id, nama, created_at, updated_at
  • data sub_menus akan ditampilkan di halaman admin

Otomasi kode

  • Helper untuk generate Code
  • Bahan Mentah (RAW)
  • Bahan Dalam Proses (ONP)
  • Barang Jadi (PROD)
  • Pengeluaran (EXP)
  • Hutang (DEBT)

Pengaturan

  • Ubah profil diri
  • Ubah profil perusahaan

Menampilkan menu sesuai role

TODO: Menampilkan menu sesuai role nya

  • menambahkan data role_id saat login ke session
  • membuat tabel menus (id, name, role_id, url, icon, created_at, updated_at)
  • membuat seeder MenusSeeder yang berisi daftar menu yang ada sekarang
  • tambahkan seeder ke DatabaseSeeder agar bisa di seeding saat di-migrate
  • php artisan migrate:fresh --seed
  • query data menu di file Helper.php
  • buat constructor untuk query data menu di tiap controller lalu kirim datanya ke tiap function yang me-render halaman
  • modifikasi komponen sidebar agar looping menu sesuai role_id user yang login

CRUD Pengeluaran

  • Menambah pengeluaran

    1. Memilih menu tambah pengeluaran
    2. Mengisi data pengeluaran seperti (nama, deskripsi, cost, gambar bon/nota)
    3. Menekan tombol tambah pengeluaran
  • Melihat daftar pengeluaran

    1. Memilih menu lihat pengeluaran
    2. Data pengeluaran akan ditampilkan
  • Mengubah pengeluaran

    1. Memilih menu lihat pengeluaran
    2. Menekan tombol ubah pada data pengeluaran yang ingin diubah datanya
    3. Form ubah akan muncul
    4. Mengubah data pengeluaran
    5. Menekan tombol ubah pengeluaran
    6. Akan muncul popup konfirmasi
    7. Menekan tombol konfirmasi jika yakin
  • Menghapus pengeluaran

    1. Memilih menu menu lihat pengeluaran
    2. Menekan tombol hapus pada data pengeluaran yang ingin dihapus
    3. Akan muncul popup konfirmasi apakah yakin ingin menghapus pengeluaran tsb
    4. Jika yakin maka tekan tombol konfirmasi hapus
  • Mencari pengeluaran

    1. Memilih menu lihat pengeluaran
    2. Mengisi nama pengeluaran pada form pencarian
    3. Jika ditemukan maka datanya akan ditampilkan

Data hak akses user terhadap menu

INFO:

  • tabel privileges berisikan data user terhadap halaman apa saja yang bisa diakses.

TODO:

  • membuat tabel privileges berisi kolom id, user_id, menu_id, created_at, updated_at
  • membuat halaman pengelolaan hak akses role terhadap menu
  • fitur ini dikerjakan setelah Issue #28 selesai dikerjakan

CRUD Pemasukan

  • Menambah pemasukan

    1. Memilih menu tambah pemasukan
    2. Mengisi data pemasukan seperti (nama, id_barang_jadi, jumlah, total, atas_nama, no_hp, deskripsi)
    3. Menekan tombol tambah pemasukan
  • Melihat daftar pemasukan

    1. Memilih menu lihat pemasukan
    2. Data pemasukan akan ditampilkan
  • Mengubah pemasukan

    1. Memilih menu lihat pemasukan
    2. Menekan tombol ubah pada data pemasukan yang ingin diubah datanya
    3. Form ubah akan muncul
    4. Mengubah data pemasukan
    5. Menekan tombol ubah pemasukan
    6. Akan muncul popup konfirmasi
    7. Menekan tombol konfirmasi jika yakin
  • Menghapus pemasukan

    1. Memilih menu menu lihat pemasukan
    2. Menekan tombol hapus pada data pemasukan yang ingin dihapus
    3. Akan muncul popup konfirmasi apakah yakin ingin menghapus pemasukan tsb
    4. Jika yakin maka tekan tombol konfirmasi hapus
  • Mencari pemasukan

    1. Memilih menu lihat pemasukan
    2. Mengisi nama pemasukan pada form pencarian
    3. Jika ditemukan maka datanya akan ditampilkan

User Registration

== Todo ==

  • Hapus link registrasi di halaman login
  • Hapus link login di halaman registrasi
  • Tambahkan menu Pengguna di sidebar
  • Tambahkan halaman Penguna yang berisi daftar pengguna pada aplikasi
  • Tambahkan tombol registrasi yang mengarahkan ke halaman registrasi
  • Sesuaikan halaman registrasi agar selaras dengan halaman backend
  • Baru buat fungsional registrasinya

== Alur ==

  1. Admin menambahkan user baru
  2. Otomatis user tersebut aktif

== Tambahan ==

  • Kalau user sudah tidak dipakai, bisa dinonaktifkan ataupun dihapus sekalian :v

CRUD User

  • Create
  • Read: Menambahkan tombol aktif/nonaktif, edit, dan hapus
  • Update: Ubah user
  • Update: Aktif/Nonaktifkan user
  • Delete: Hapus user
  • Pindahkan functions di UserRegistrationController ke UserController
  • Ubah Route nya mengarahkan ke UserController

Data Log

INFO:

  • data log adalah data yang berisikan informasi user yang mengakses suatu halaman

  • membuat tabel logs yang berisikan kolom id, user_id, ip_address, route, created_at, updated_at

  • menambahkan pada middleware untuk insert data log

  • Read dan Delete

Biaya delivery

INFO:

  • Biaya delivery untuk order, jika ada

  • Tambah kolom delivery_cost pada tabel income

  • Tambah form input delivery cost

Dashboard

== Deskripsi ==

  • Dashboard berisi summary laporan keuangan yang terdiri dari Pemasukan(dari order), Pengeluaran, dan Hutang
  • Setiap jenisnya dapat dilihat secara detail dengan menekan tombol Detail
  • Tombol detail tersebut akan mengarahkan user ke halaman masing-masing, misal Detail Pemasukan akan mengarahkan user ke halaman Pemasukan

== To Do ==

  • Laporan yang ditampilkan secara default adalah tanggal hari ini
  • Query total Pemasukan, Pengeluaran, dan Hutang pada tanggal hari ini

CRUD Bahan Mentah

  • Menambah bahan mentah

    1. Memilih menu liat bahan mentah
    2. menekan tombol tambah baru
    3. menambah bahan mentah baru dengan data seperti (nama, stok, stok_minimum, satuan, aktif, gambar), nama bahan mentah harus unik
  • Melihat daftar bahan mentah

    1. Memilih menu lihat bahan mentah
    2. Akan muncul halaman yang menampilkan daftar bahan mentah
  • Mengubah bahan mentah

    1. Memilih menu lihat bahan mentah
    2. Memilih salah satu bahan mentah yang ingin diubah datanya
    3. Mengubah data
    4. Menekan tombol konfirmasi ubah
    5. Data bahan mentah tsb berubah
  • Menghapus bahan mentah

    1. Memilih menu lihat bahan mentah
    2. Menekan tombol hapus salah satu dari data bahan mentah yang ada
    3. Akan muncul popup konfirmasi
    4. Jika yakin, maka tekan konfirmasi
  • Mencari bahan mentah

    1. Memilih menu lihat bahan mentah
    2. Mengetikkan nama bahan mentah pada form pencarian
    3. Akan muncul data dalam daftar bahan jika ditemukan

Halaman order dan checkout

INFO:

  • halaman ini digabung dlm 1 halaman

  • bagian kiri ada daftar produk

  • bagian kanan ada daftar produk yg diorder beserta harga dan tombol order

  • Halaman order (berisi daftar produk dlm bentuk card)

CRUD Hutang

  • Menambah hutang

    1. Memilih menu tambah hutang
    2. Mengisi data hutang seperti (nama, jumlah(harga), deskripsi, atas_nama(penghutang/terhutang), no_telp, jenis(memberi/menerima), status(selesai/belum))
    3. Menekan tombol tambah hutang
  • Melihat daftar hutang

    1. Memilih menu lihat hutang
    2. Data hutang akan ditampilkan
  • Mengubah pengeluaran

    1. Memilih menu lihat hutang
    2. Menekan tombol ubah pada data hutang yang ingin diubah datanya
    3. Form ubah akan muncul
    4. Mengubah data hutang
    5. Menekan tombol ubah hutang
    6. Akan muncul popup konfirmasi
    7. Menekan tombol konfirmasi jika yakin
  • Menghapus hutang

    1. Memilih menu menu lihat hutang
    2. Menekan tombol hapus pada data hutang yang ingin dihapus
    3. Akan muncul popup konfirmasi apakah yakin ingin menghapus hutangtsb
    4. Jika yakin maka tekan tombol konfirmasi hapus
  • Mencari hutang

    1. Memilih menu lihat hutang
    2. Mengisi nama hutang pada form pencarian
    3. Jika ditemukan maka datanya akan ditampilkan

Fitur diskon pada barang jadi

INFO:

  • diskon per produk

Halaman Barang Jadi

  • Tambahkan field discount pd tabel products
  • Tambahkan field diskon pada form tambah produk
  • Tambahkan field diskon pada form ubah produk
  • pada halaman daftar barang jadi, tambahkan kolom diskon, jika diskon 0 (default) maka tampilkan string "Kosong"

Halaman Order

  • Pada halaman order, jika produk ada diskon maka tampilkan UI diskon dan coretan harga sebelum diskon
  • Pada fungsi tambah ke keranjang, harga yang ditambahkan adalah harga modal+untung-diskonnya sehingga di pop up checkout sudah ditampilkan harga yang sudah diskon

Halaman Tambah Pemasukan

  • Pada tabel barang jadi, harga yang ditampilkan adalah harga modal + untung - diskon

Company Registration

== Alur ==

  1. Mendaftar dengan mengisi form yang telah disediakan
  2. Setelah mendaftarkan perusahaan maka data perusahaan akan ditambahkan
  3. Data user administrator secara default akan ditambahkan dengan username: admin dan password: 12345
  4. Setelah registrasi dilakukan maka user akan diarahkan ke halaman login

== Limitasi ==

  • Halaman Company Registration hanya bisa diakses jika belum pernah daftar perusahaan
  • Halaman Company Registration muncul saat pertama kali aplikasi digunakan

CRUD Barang Jadi

  • Menambah barang jadi

    1. Memilih menu tambah barang jadi
    2. Menambahkan data barang jadi seperti (nama_barang, stok, harga_jual, harga_modal, aktif, gambar), nama barang harus unik
    3. menekan tombol tambah barang jadi
    4. Jika berhasil maka data barang jadi akan ditambahkan ke database
  • Melihat daftar barang jadi

    1. Memilih menu lihat barang jadi
    2. Data barang jadi akan dimunculkan
  • Mengubah barang jadi

    1. Memilih menu lihat barang jadi
    2. Menekan tombol ubah pada barang jadi yang ingin diubah
    3. Mengubah data barang jadi
    4. Menekan tombol ubah
    5. Akan muncul popup konfirmasi
    6. Jika yakin maka tekan tombol konfirmasi ubah
    7. Data barang jadi berhasil diubah
  • Menghapus barang jadi

    1. Memilih menu lihat barang jadi
    2. Menekan tombol hapus pada barang jadi yang ingin dihapus
    3. Akan muncul popup konfirmasi penghapusan data barang jadi
    4. Jika yakin, maka tekan tombol konfirmasi hapus
    5. Data barang jadi tersebut terhapus dari database
  • Mencari barang jadi

    1. Memilih menu lihat barang jadi
    2. Mengisi nama barang jadi pada form pencarian
    3. Jika ditemukan maka barang jadi akan ditampilkan

Biaya Tambahan

Biaya tambahan untuk order

  • Menambahkan field extra_charge pada tabel incomes
  • Pada fungsi checkout, tambahkan data extra_charge tsb utk dikirimkan ke backend
  • pd backend tangkap data extra_charge untuk dikalkulasikan dengan total_price

First Iteration

Welcome, ini adalah iterasi pertama untuk membangun app MoneyTory. Berikut merupakan daftar tugas yang harus diselesaikan dengan tujuan MoneyTory dapat berfungsi seutuhnya sesuai requirement di Notion.

CRUD Bahan Dalam Proses

  • Menambah bahan dalam proses

    1. Pada form tambah bahan dalam proses, terdapat relasi dengan data pada tabel bahan mentah
    2. Memilih menu lihat bahan dalam proses
    3. Menekan tombol tambah bahan dalam proses
    4. Menambahkan data bahan dalam proses denan data seperti (untuk, id_bahan_mentah, jumlah, status (on process/done))
    5. Menekan tombol tambah bahan dalam proses
  • Melihat daftar bahan dalam proses

    1. Memilih menu lihat bahan dalam proses
    2. Akan muncul daftar bahan dalam proses
  • Mengubah bahan dalam proses

    1. Memilih menu lihat bahan dalam proses
    2. Menekan tombol ubah pada salah satu bahan dalam proses
    3. Mengubah datanya (jika jumlah bahan mentahnya nambah, maka di tabel bahan mentah akan dikurangi lagi, begitupun sebaliknya)
    4. Menekan tombol ubah
    5. Akan muncul popup konfirmasi
    6. Jika yakin maka tekan tombol konfirmasi
  • Menghapus bahan dalam proses

    1. Memilih menu daftar bahan dalam proses
    2. Menghapus bahan dalam proses
    3. Bahan dalam proses yang dihapus, data jumlahnya akan kembali ditambahkan ke bahan mentah, jadi proses penghapusan ini disebut pembatalan alokasi bahan mentah
  • Mengganti status bahan dalam proses

    1. Bahan dalam proses secara default akan berstatus ON PROCESS karena sedang digunakan untuk membuah produk, setelah produk jadi maka status bahan dalam proses adalah DONE/selesai
    2. Memilih menu daftar bahan dalam proses
    3. Menekan tombol DONE pada salah satu bahan dalam proses
    4. Akan muncul popup konfirmasi
    5. Jika yakin maka menekan tombol konfirmasi
    6. Status bahan dalam proses akan berganti menjadi DONE
  • Mencari bahan dalam proses

    1. Memilih menu lihat bahan dalam proses
    2. Data bahan dalam proses akan muncul

Bikin video tutorial

Daftar Video yang Harus DIbuat

  • registrasi perusahaan

  • halaman registrasi muncul saat pertama kali aplikasi dijalankan

  • setelah registrasi akan dibuatkan user default, disarankan mengganti passwordnya

  • setelah login maka halaman dashboard muncul berisi informasi pemasukan (order), pengeluaran, dan hutang (lunas) berdasarkan tanggal hari ini

  • bisa juga mencari berdasarkan tanggal sesuai yang diinginkan

  • login & logout

  • melakukan login

  • untuk logout, tekan foto profil di pojok kanan atas

  • akan muncul menu logout, tekan dan konfirmasi maka akan logout dan kembali ke halaman login

  • menambah, mengganti status, dan menghapus bahan dalam proses

  • membuka form tambah bahan dalam proses

  • terdapat daftar bahan mentah yang tersedia untuk mengecek stok agar penambahan bahan dalam proses tidak salah input

  • setelah bahan dalam proses ditambahkan maka stok pada bahan mentah pun ikut dikurangi

  • untuk mengganti status bisa dilakukan dengan menekan toggle yang tersedia, secara otomatis status akan terganti

  • jika menghapus bahan dalam proses, maka stok akan dikembalikan ke bahan mentah lagi

  • jadi dianggap bahan mentah batal diproses menjadi produk

  • menambah dan menghapus order / pemasukan

  • order atau pemasukan adalah data yang berisi daftar produk yang dibeli oleh customer kita

  • terdapat daftar produk beserta kode produknya

  • isilah sesuai ketersediaan

  • untuk menghapus pemasukan, maka data stok barang jadi / produk akan dikembalikan

  • mencari pemasukan / order sesuai tanggal + mencari berdasarkan kode produk

  • kamu juga bisa mencari pemasukan / order sesuai tanggal yang diinginkan

  • jika mencari berdasarkan kode produk (harus sesuai) maka akan muncul elemen yang berisi informasi jumlah produk tertentu yang terjual

Logic hak akses tiap halaman

INFO:

  • Logic hak akses tiap halaman adalah logic untuk menolak akses ke halaman yang user tersebut tidak punya hak akses.

  • cek di level route-nya pake middleware membandingkan antara route name dengan nama menu/sub_menu pada database

ALGORITMA:

  • user masuk ke halaman dengan route tertentu
  • middleware akan mengecek pada database tabel privileges apakah ada user_id dengan menu_id
    • jika tidak ada maka redirect ke halaman profil user
    • Jika ada yang cocok maka lanjutkan ke logic yang lain atau lanjut mengakses halaman yang dituju

TODO:

  • membuat middleware baru bernama CheckPrivilege
  • query data user berdasarkan username login
  • query data menu berdasarkan route name-nya
  • query data privilege
  • jika privilege ditemukan, lanjutkan. jika tidak maka redirect ke halaman user

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.