Skip to content

Commit 17053a6

Browse files
authored
Merge pull request #17 from GesangPJ/test
Add Bantuan Page, Tentang Page, Dokumentasi API, refactor some codes
2 parents f239cbb + 8ba64eb commit 17053a6

File tree

16 files changed

+278
-2
lines changed

16 files changed

+278
-2
lines changed

README.md

+9
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,18 @@ menggunakan NextJS 14 Full Stack dengan Database PostgreSQL atau SQLite (akan te
2727
5. Export kasbon ke PDF, Excel, JSON.
2828
6. Mengambil Laporan Kasbon per Bulan.
2929
7. Menampilkan jumlah total nilai kasbon yang diminta, yang telah disetujui, yang telah lunas, yang belum lunas.
30+
8. Halaman Bantuan yang berisi penjelasan setiap halaman dan bagaimana cara mengirim dan menampilkan data.
3031

3132
## Changelog
3233

34+
### v.1.2.7 Update Patch #4
35+
36+
- Add Bantuan page.
37+
- Add Dokumentasi API page.
38+
- Add Tentang Page.
39+
- Sidebar Update.
40+
- Refactor some codes.
41+
3342
### v.1.1.8 Update Patch #3
3443

3544
- Add more page protection.

package-lock.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "Kasbon-Manager",
3-
"version": "1.2.1",
3+
"version": "1.2.7",
44
"license": "Commercial",
55
"private": true,
66
"scripts": {

public/images/avatars/1.png

-6.88 KB
Binary file not shown.

public/images/avatars/2.png

-8.54 KB
Binary file not shown.

public/images/avatars/3.png

-7.11 KB
Binary file not shown.

public/images/avatars/4.png

-8.73 KB
Binary file not shown.

public/images/avatars/5.png

-7.35 KB
Binary file not shown.

public/images/avatars/6.png

-7.48 KB
Binary file not shown.

public/images/avatars/7.png

-7.47 KB
Binary file not shown.

public/images/avatars/8.png

-7.62 KB
Binary file not shown.

src/app/dashboard/bantuan/page.jsx

+176
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
2+
import { Typography } from "@mui/material"
3+
import Box from '@mui/material/Box'
4+
import Divider from '@mui/material/Divider'
5+
6+
const HalamanBantuan = () =>{
7+
8+
return(
9+
<div>
10+
<div className=" justify-center items-center ">
11+
<Box sx={{ width: '100%'}} >
12+
<Typography variant="h2" sx={{fontWeight:'bold'}}>
13+
Halaman Bantuan
14+
</Typography>
15+
<Divider/>
16+
<br />
17+
<Typography variant="h3">
18+
A. Menambahkan Kasbon
19+
</Typography><br />
20+
<div className="ml-[22px] pl-[22px] text-xl">
21+
<ol type="number">
22+
<li>Karyawan Login.</li>
23+
<li>Sidebar &gt; Menu Kasbon &gt; Tambah Kasbon.</li>
24+
<li>Masukkan jumlah permintaan kasbon.</li>
25+
<li>Masukkan Keterangan Kasbon.</li>
26+
<li>Masukkan Metode Pembayaran Kasbon : <code>&quot;TRANSFER&quot; / &quot;CASH&quot;</code></li>
27+
<li>Jika data yang dimasukkan sudah benar maka klik tombol <code>KIRIM</code></li>
28+
</ol>
29+
</div>
30+
<br />
31+
<Typography variant="h3">
32+
B. Dashboard
33+
</Typography><br />
34+
<div className="ml-[22px] pl-[22px] text-xl">
35+
<p>Adalah halaman yang berisi tabel data Kasbon, untuk Karyawan, data kasbon adalah
36+
data milik masing-masing karyawan untuk Admin, dashboard berisi data semua kasbon yang masuk, yang terdiri dari :</p>
37+
<ol type="number">
38+
<li><code>tanggal / jam :</code> Berisi data tanggal dan jam dimana data kasbon terakhir diubah.</li>
39+
<li><code>nama :</code> Adalah nama Karyawan terdaftar yang meminta Kasbon.</li>
40+
<li><code>jumlah :</code> Berisi Jumlah nilai Kasbon yang diminta.</li>
41+
<li><code>status request :</code> Berisi keterangan status permintaan, seperti : &quot;BELUM&quot; ; &quot;SETUJU&quot; ; &quot;DITOLAK&quot; </li>
42+
<li><code>status bayar :</code> Berisi keterangan status pembayaran kasbon, seperti : &quot;BELUM&quot; ; &quot;LUNAS&quot;</li>
43+
<li><code>keterangan :</code> Adalah keterangan atau alasan mengenai permintaan kasbon, kenapa karyawan meminta kasbon sebesar jumlah yang diminta.</li>
44+
<li><code>metode :</code> Adalah metode yang dipilih oleh Karyawan untuk membayar kasbon, seperti : &quot;TRANSFER&quot; ; &quot;CASH&quot;</li>
45+
<li><code>admin :</code> Adalah nama Admin / Petugas yang mengubah status kasbon, nama yang ditampilkan adalah nama admin terbaru yang mengubah data status kasbon.</li>
46+
<li><code>detail :</code> Adalah tombol yang digunakan untuk melihat Detail Kasbon ketika diklik / ditekan.</li>
47+
</ol><br />
48+
<p>Didalam Dashboard terdapat beberapa tombol, berikut adalah daftar tombol beserta dengan fungsinya :</p>
49+
<ul>
50+
<li>Tombol <code>PDF Export :</code> Digunakan untuk ekspor / download data kasbon ke format PDF.</li>
51+
<li>Tombol <code>Export XLSX :</code> Digunakan untuk ekspor / download data kasbon ke format Excel.</li>
52+
<li>Tombol <code>JSON : </code> Digunakan untuk ekspor / download data kasbon ke format JSON.</li>
53+
</ul>
54+
</div><br />
55+
<Typography variant="h3">
56+
C. Request Kasbon
57+
</Typography>
58+
<div className="ml-[22px] pl-[22px] text-xl">
59+
<p>Adalah halaman yang digunakan oleh Admin untuk menentukan Status Request / permintaan Kasbon, halaman ini berisi tabel permintaan kasbon terbaru dengan status request awal &quot;BELUM&quot; . Kemudian admin akan menentukan apakah permintaan kasbon ini DISETUJUI atau DITOLAK dengan menekan salah satu tombol &quot;SETUJU&quot; atau &quot;TOLAK&quot;</p>
60+
</div><br />
61+
<Typography variant="h3">
62+
D. Konfirmasi Bayar
63+
</Typography>
64+
<div className="ml-[22px] pl-[22px] text-xl">
65+
<p>Adalah halaman yang digunakan oleh Admin untuk menentukan Status Bayar / pembayaran kasbon, berikut dibawah ini cara untuk merubah status bayar kasbon :</p>
66+
<ol type="number">
67+
<li>Masukkan Nama Karyawan di Input Nama.</li>
68+
<li>Tekan tombol <code>CARI</code>.</li>
69+
<li>Kemudian data kasbon Karyawan yang anda cari akan muncul di tabel bawah.</li>
70+
<li>Jika data kasbon tidak muncul, maka Kasbon Karyawan tersebut semuanya dalam status DITOLAK atau anda salah mengetik nama Karyawan.</li>
71+
<li>Jika data karyawan ditampilkan maka anda bisa memilih Kasbon mana yang sudah lunas, maka anda klik tombol <code>LUNAS</code></li>
72+
<li>Anda juga bisa mengganti status LUNAS menjadi BELUM dengan menekan tombol <code>BELUM</code></li>
73+
</ol>
74+
</div><br />
75+
<Typography variant="h3">
76+
E. Ekspor Laporan
77+
</Typography>
78+
<div className="ml-[22px] pl-[22px] text-xl">
79+
<p>Adalah halaman yang digunakan untuk mengambil data kasbon per bulan dan tahun yang kemudian dapat diekspor / didownload ke berbagai format yang disediakan. Berikut dibawah ini adalah cara ekspor data :</p>
80+
<ol type="number">
81+
<li>Klik Ikon Kalender untuk menampilkan dialog Bulan dan Tahun / Ketik tahun dan bulan dalam format &quot;TAHUN-BULAN&quot;.</li>
82+
<li>Untuk memilih tahun lainnya lewat dialog, klik tanda panah kebawah maka akan muncul daftar tahun.</li>
83+
<li>Jika Bulan dan tahun telah dipilih / diketik, maka klik tombol <code>CARI DATA</code></li>
84+
<li>Kemudian data kasbon untuk bulan dan tahun yang dipilih akan ditampilkan ditabel bawah.</li>
85+
<li>Klik tombol <code>PDF Export</code> untuk download data kasbon dalam format PDF.</li>
86+
<li>Klik tombol <code>Export XLSX</code> untuk download data kasbon dalam formal Excel.</li>
87+
<li>Klik tombol <code>JSON</code> untuk download data kasbon dalam format JSON.</li>
88+
</ol>
89+
</div><br />
90+
<Typography variant="h3">
91+
F. Ganti Data Akun Karyawan
92+
</Typography>
93+
<div className="ml-[22px] pl-[22px] text-xl">
94+
<p>Berikut dibawah ini adalah cara bagaimana untuk mengganti data akun karyawan, data yang bisa diganti adalah nama dan email akun :</p>
95+
<ol type="number">
96+
<li>Pada sidebar klik Manajemen Akun.</li>
97+
<li>Klik Tabel Akun.</li>
98+
<li>Pada Tabel Akun Karyawan, lihat akun mana yang akan anda ganti datanya, kemudian klik tombol <code>EDIT</code> sesuai dengan baris akun yang ingin diganti datanya.</li>
99+
<li>Pada dialog box yang muncul, jika nama yang diganti maka hapus nama awal kemudian ketik nama yang baru.</li>
100+
<li>Pada dialog box yang muncul, jika email yang diganti maka hapus email awal kemudian ketik email yang baru.</li>
101+
<li>Ketik MasterKEY yang disimpan di <code>ENVIRONMENT</code> website.</li>
102+
<li>Jika dirasa data yang diganti sudah benar maka klik tombol <code>KIRIM</code>.</li>
103+
<li>Jika tidak maka keluar dengan klik tombol <code>BATAL</code>.</li>
104+
</ol>
105+
</div><br />
106+
<Typography variant="h3">
107+
G. Registrasi Akun
108+
</Typography>
109+
<div className="ml-[22px] pl-[22px] text-xl">
110+
<p>Berikut dibawah ini adalah bagaimana cara mendaftarkan akun untuk Admin dan atau Karyawan :</p>
111+
<ol type="number">
112+
<li>Pada sidebar, klik Manajemen Akun.</li>
113+
<li>Kemudian klik Registrasi Akun.</li>
114+
<li>Kemudian masukkan nama di kolom <code>Nama Akun</code>.</li>
115+
<li>Kemudian masukkan email di kolom <code>Email Akun</code>.</li>
116+
<li>Kemudian masukkan password akun di kolom <code>Password</code>.</li>
117+
<li>Kemudian pilih tipe akun, &quot;ADMIN&quot; atau &quot;KARYAWAN&quot;.</li>
118+
<li>Lihat kembali data yang anda masukkan, jika sudah benar maka klik tombol <code>DAFTAR</code></li>
119+
</ol>
120+
</div><br />
121+
<Typography variant="h3">
122+
H. Reset Password Akun Karyawan
123+
</Typography>
124+
<div className="ml-[22px] pl-[22px] text-xl">
125+
<p>Berikut dibawah ini adalah bagaimana cara mengganti password akun karyawan :</p>
126+
<ol type="number">
127+
<li>Pada sidebar, klik Manajemen Akun.</li>
128+
<li>Kemudian klik Reset Password Akun.</li>
129+
<li>Masukkan email akun karyawan di kolom <code>Email Karyawan</code>.</li>
130+
<li>Masukkan Password yang baru di kolom <code>Password</code>.</li>
131+
<li>Masukkan kembali password yang baru di kolom <code>Konfirmasi Password</code>.</li>
132+
<li>Jika data sudah benar maka klik tombol <code>Reset Password</code>.</li>
133+
</ol>
134+
</div><br />
135+
<Typography variant="h3">
136+
I. Reset Password Akun Admin
137+
</Typography>
138+
<div className="ml-[22px] pl-[22px] text-xl">
139+
<p>Berikut dibawah ini adalah bagaimana cara mengganti password akun admin :</p>
140+
<ol type="number">
141+
<li>Pada sidebar, klik Manajemen Akun.</li>
142+
<li>Kemudian klik Reset Password Akun.</li>
143+
<li>Masukkan Email Akun Admin di kolom <code>Email Admin</code>.</li>
144+
<li>Masukkan Password admin yang baru di kolom <code>Password</code>.</li>
145+
<li>Masukkan kembali passsword yang baru di kolom <code>Konfirmasi Password</code>.</li>
146+
<li>Masukkan kode MasterKEY di kolom <code>Master Key</code>.</li>
147+
<li>Jika data sudah benar, maka klik tombol <code>Reset Password Admin</code>.</li>
148+
</ol>
149+
</div><br />
150+
<Divider />
151+
<br />
152+
<Typography variant="h3" sx={{fontWeight:'bold'}}>
153+
Daftar Error
154+
</Typography><br />
155+
<Divider /><br />
156+
<div className="ml-[22px] pl-[22px] text-xl">
157+
<p>Berikut dibawah ini adalah daftar error yang kemungkinan muncul beserta dengan penjelasan dan cara menanganinya :</p>
158+
<ul>
159+
<li><code className="text-red-600">MasterKEY Salah</code>: Master Key yang dimasukkan tidak sesuai dengan yang ada, cek kembali apakah master key yang dimasukkan sama dengan yang ada di <code>Environment Variable</code> website.</li>
160+
<li><code className="text-red-600">Data Tidak Boleh Kosong</code>: Terdapat kolom yang kosong disaat akan mengirim / menyimpan data, cek kembali kolom mana yang kosong.</li>
161+
<li><code className="text-red-600">Tidak Ada Data</code>: Data tidak ditemukan.</li>
162+
<li><code className="text-red-600">No Rows</code>: Data tidak ditemukan.</li>
163+
<li><code className="text-red-600">Gagal Menambahkan / Mengirim Data</code>: Terjadi kesalahan saat akan mengirim / menyimpan data, pastikan database terkoneksi dengan baik, jika anda menggunakan PostgreSQL pastika server PostgreSQL masih berjalan, atau pastikan anda masih terhubung ke internet.</li>
164+
165+
</ul>
166+
167+
</div>
168+
169+
170+
</Box>
171+
</div>
172+
</div>
173+
)
174+
}
175+
176+
export default HalamanBantuan
+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
2+
import { Typography } from "@mui/material"
3+
4+
const HalamanDokumentasi = () =>{
5+
6+
return(
7+
<div className="w-[100%]">
8+
<div>
9+
<Typography variant="h2">
10+
Dokumentasi API
11+
</Typography><br />
12+
<div>
13+
<Typography variant="h3">
14+
A. API Endpoint
15+
</Typography><br />
16+
</div>
17+
<div className=" ml-[22px] pl-[22px] text-xl">
18+
<ul>
19+
<li><code>api/auth/[...nextauth]</code>: Adalah API yang digunakan untuk autentikasi dan session akun, menggunakan Next Auth sebagai sistem Autentikasi dan Json Web Token
20+
(JWT) untuk mengamankan session.</li>
21+
<li><code>api/dashboard-admin</code>: Adalah API yang digunakan untuk mengambil data kasbon untuk dashboard Admin.</li>
22+
<li><code>api/dashboard-karyawan</code>: Adalah API yang digunakan untuk mengambil data kasbon sesuai nama dan ID Karyawan untuk Dashboard masing-masing Karyawan.</li>
23+
<li><code>api/detail-kasbon</code>: Adalah API yang digunakan untuk mengambil data kasbon sesuai dengan ID Kasbon yang diminta.</li>
24+
<li><code>api/edit-karyawan</code>: Adalah API yang digunakan untuk mengubah data akun Karyawan seperti nama, dan email akun Karyawan.</li>
25+
<li><code>api/kasbon-bayar</code>: Adalah API yang digunakan untuk mengambil data kasbon sesuai dengan Nama Karyawan yang diminta, guna mengubah status bayar.</li>
26+
<li><code>api/kasbon-request</code>: Adalah API yang digunakan untuk mengambil data kasbon guna mengubah status request.</li>
27+
<li><code>api/laporan-kasbon</code>: Adalah API yang digunakan untuk mengambil data kasbon sesuai dengan bulan dan tahun yang dipilih, guna menampilkan dan mengekspor ke format lain.</li>
28+
<li><code>api/registrasi</code>: Adalah API yang digunakan untuk mendaftarkan akun admin dan karyawan.</li>
29+
<li><code>api/reset-admin</code>: Adalah API yang digunakan untuk reset password akun admin.</li>
30+
<li><code>api/reset-sandi</code>: Adalah API yang digunakan untuk reset password akun karyawan.</li>
31+
<li><code>api/status-bayar</code>: Adalah API yang digunakan untuk mengirim perubahan status pembayaran kasbon.</li>
32+
<li><code>api/status-request</code>: Adalah API yang digunakan untuk mengirim perubahan status request kasbon.</li>
33+
<li><code>api/tabel-akun</code>: Adalah API yang digunakan untuk mengambil data Akun.</li>
34+
<li><code>api/tambah-kasbon</code>: Adalah API yang digunakan untuk membuat permintaan kasbon.</li>
35+
</ul>
36+
37+
</div>
38+
39+
</div>
40+
41+
</div>
42+
)
43+
}
44+
45+
export default HalamanDokumentasi

src/app/dashboard/tentang/page.jsx

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
2+
import { Typography } from "@mui/material"
3+
4+
const HalamanTentang =() =>{
5+
6+
return(
7+
<div>
8+
<div>
9+
<Typography variant="h2">
10+
Tentang Website
11+
</Typography><br />
12+
</div>
13+
<div className=" ml-[22px] pl-[22px] text-xl">
14+
<p>Nama Website 1 :</p><p className="font-bold"> KASBON MANAGER</p><br />
15+
<p>Nama Website 2 :</p><p className="font-bold"> KASBON MANAJER</p><br />
16+
<p>Pengembang :</p><p className="font-bold">GESANG PAUDRA JAYA, S.Kom</p><hr /><br />
17+
<p>Bahasa Pemrograman : JavaScript</p><br />
18+
<p>Framework : NextJS v.14.2.3</p><br />
19+
<p>User Interface : Tailwind & MUI Material UI</p><br />
20+
21+
</div>
22+
23+
</div>
24+
)
25+
}
26+
27+
export default HalamanTentang

src/components/layout/vertical/FooterContent.jsx

+6
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@ const FooterContent = () => {
2525
</p>
2626
{!isBreakpointReached && (
2727
<div className='flex items-center gap-4'>
28+
<Link href='/dashboard/bantuan' className='text-primary'>
29+
Bantuan
30+
</Link>
31+
<Link href='/dashboard/tentang' className='text-primary'>
32+
Tentang
33+
</Link>
2834
<Link href='https://github.com/GesangPJ' target='_blank' className='text-primary'>
2935
GitHub Page
3036
</Link>

src/components/layout/vertical/VerticalMenu.jsx

+13
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,13 @@ const VerticalMenu = ({ scrollMenu }) => {
9393
<MenuItem href='/dashboard/registrasi-akun'>Registrasi Akun</MenuItem>
9494
<MenuItem href='/dashboard/reset-password-akun'>Reset Password Akun</MenuItem>
9595
</SubMenu>
96+
<SubMenu
97+
label='Bantuan'
98+
icon={<i class="ri-question-line"></i>}
99+
>
100+
<MenuItem href='/dashboard/bantuan'>Penggunaan</MenuItem>
101+
<MenuItem href='/dashboard/dokumentasi-api'>Dokumentasi API</MenuItem>
102+
</SubMenu>
96103
</>
97104
)}
98105

@@ -111,6 +118,12 @@ const VerticalMenu = ({ scrollMenu }) => {
111118
>
112119
<MenuItem href='/dashboard/tambah-kasbon'>Tambah Kasbon</MenuItem>
113120
</SubMenu>
121+
<SubMenu
122+
label='Bantuan'
123+
icon={<i class="ri-question-line"></i>}
124+
>
125+
<MenuItem href='/dashboard/bantuan'>Penggunaan</MenuItem>
126+
</SubMenu>
114127
</MenuSection>
115128
</>
116129
)}

0 commit comments

Comments
 (0)