Judul: WEBAPP MANAJEMEN SITUS WEB
Tautan demo: http://52.28.221.30/account/
Keterangan
Dalam proyek ini, saya mengembangkan sistem manajemen situs web yang dapat Anda gunakan untuk melakukan hal berikut:
1: Daftar, masuk dan pulihkan kata sandi.
2: Unggah, edit, dan hapus gambar situs web Anda.
3: Tulis, edit, dan hapus informasi situs web Anda seperti: Tentang kami, Layanan kami, dll.
4: Lihat dan analisis statistik pengunjung dan pengguna Anda. 5: API untuk login dan menanyakan database.
Bahasa meliputi: PHP, MYSQL (PDO), Javascript, HTML5 dan CSS.
CARA MENGGUNAKAN:
Basis Data:
Anda memerlukan XAMPP yang menjalankan PHP 8+, ubah nama pengguna dan kata sandi mysql menjadi (adminui,#J4dIg0Mn4PiJm0Ck4#) masing-masing, ubah detail db di file konfigurasi phpmyadmin jika Anda memutuskan untuk menggunakan detail yang berbeda .
Rekap ulang:
di file .env buat variabel SECRET_KEY dan tetapkan ke google recatcha secrect_key Anda dan juga pada baris 8 di account.settings.js ganti site_key dengan milik Anda.
SMTP:
di file .env buat variabel SMTP_EMAIL dan SMTP_PASS dan tetapkan ke detail Anda sendiri.
Variabel tuan rumah:
Variabel HOST di config.php menyimpan domain root mesin, gantilah agar sesuai dengan milik Anda.
Variabel folder gambar:
Variabel Img_folder di config.php menampung folder untuk menyimpan gambar, gantilah agar sesuai dengan milik Anda.
Variabel REG maks:
Variabel MAX_REG di config.php menampung jumlah pengguna (admin) yang ingin Anda izinkan.
Pelacakan statistik pengunjung
Tambahkan require_once('includes/tracking.php'); di bagian atas login.php atau halaman/file lain pilihan Anda, Anda juga dapat membuat permintaan ke *domain/akun/tracking.php untuk mencatat kunjungan.
FILE:
config.php :
file ini terdiri dari variabel global dan inisialisasi database.
fungsi.php :
dalam file ini terdapat semua fungsi bersama, ini memerlukan fungsionalitas config.php .
indeks.php :
ini adalah pemegang utama untuk semua halaman, ia beralih antar halaman sesuai dengan nilai tindakan dan subAction dari parameter url action dan subAction masing-masing, ini memerlukan fungsionalitas fungsi.php , include/actions.php , include/header .php , termasuk/footer.php .
login.php :
file ini menyimpan logika otentikasi login, memerlukan fungsionalitas fungsi.php .
logout.php :
file ini untuk penghancuran sesi dan keluar dari pengguna, memerlukan fungsionalitas fungsi.php .
kata sandi-perekam.php :
file ini untuk memulihkan kata sandi, memerlukan fungsionalitas fungsi.php .
pendaftaran.php :
file ini menyimpan logika otentikasi pendaftaran, memerlukan fungsionalitas fungsi.php .
pelacakan.php :
file ini untuk melacak dan mencatat informasi pengunjung melalui IP mereka, memerlukan fungsionalitas fungsi.php .
api.handledata.php :
file ini menampung semua logika manipulasi data seperti mengunggah, mengedit, dan menghapus data, ini memerlukan fungsionalitas fungsi.php .
js/akun.settings.js :
file ini menyimpan logika dan fungsi javascript seperti google recaptcha, mengirim permintaan xml ke backend, interaksi halaman, mencatat perbedaan persentase statistik pengguna dan pengunjung, dan memerlukan beberapa fungsi include/footer.php .
css/akun.style.css :
file ini menampung semua gaya program ini.
include/actions.php :
file ini memiliki fungsi untuk mengatur dan menampilkan html halaman dan datanya seperti yang ditentukan oleh index.php , memerlukan beberapa fungsi dari function.php .
include/header.php :
file ini memiliki fungsi untuk menampilkan bagian header dan head dari keseluruhan situs web, memerlukan beberapa fungsi dari function.php dan include/tags.php .
termasuk/tags.php :
file ini menampung semua tag meta html dan tautan file untuk ditambahkan di bagian kepala situs web secara keseluruhan, ini untuk memungkinkan setiap halaman memiliki judulnya sendiri.
include/footer.php :
file ini menampung semua bagian footer html dan beberapa javascript dari keseluruhan situs web.
gambar :
folder ini menampung semua gambar yang diunggah.
penjual :
folder ini menampung beberapa plugin php seperti autoload dan simfoni.
komposer.lock & komposer.json :
ini adalah paket php untuk menginstal paket dan plugin.
Cara menggunakan API
Login
Untuk login, pertama Anda harus membuat akun di halaman web kemudian memberikan email dan kata sandi sebagai data json misalnya {"email":"[email protected]","password":"testing12345"}, kirim permintaan posting ke http://52.28.221.30/account/api/login.php dan Anda akan mendapatkan token ( token kedaluwarsa dalam 48 jam ). Contoh respons const data = {"success":true,"message":"Login berhasil","access_token":"ac9e4fd897999fa3419bec77718de76c"}. Dengan Access Token, Anda dapat melakukan operasi kasar.
Operasi kasar
Akses ini hanya untuk pengguna yang login. Untuk ini, Anda harus mengirim permintaan Posting ke http://52.28.221.30/account/handledata.php
Header: agar operasi ini berhasil, Anda harus menyetel header dengan token akses sebagai Otorisasi, misalnya const HEADERS = {"Content-Type": "application/json","Authorisation": "Bearer a3f714e812578a46d97f703ed2a99b59" }.
Isi permintaan: Ada dua operasi utama, Gambar dan Teks, Anda harus menyediakan data json sesuai dengan operasi tersebut.
Gambar:
Data gambar : const data = {"data": [{"old_name": "example.extension", "image_name": "example.extension", "image_blob": "berisi data gambar base64", "xtension":to ditentukan jika operasi=unggah}],"origin": "api_req", "type": "image", "category": "galleries", "sub_category": "akan ditentukan (gambar situs,tato,lukisan)", "operation": "akan ditentukan (edit,hapus,unggah)","state": "diubah"}
Teks:
Data teks : const data = {"data": akan ditentukan,"origin": "api_req","type": "textual","category":"about/services","sub_category": "akan ditentukan" ,"operation": "akan ditentukan","state": "diubah"}
Mendapatkan data: untuk mendapatkan data, kirim permintaan Dapatkan ke http://52.28.221.30/account/api/readdata.php, tentukan action , sub action , page dan limit .
misal permintaan : http://52.28.221.30/account/api/readdata.php?action=galleries&sub=site-images&page=0&limit=4,
misal respon : {'success': True, 'page': '0', 'limit': '4', 'total_data_count': 12, 'data_count': 4, 'data': [{'img_url': 'http ://127.0.0.1/backend/account/images/site-images/favicon-sm.ico'}, {'img_url': 'http://127.0.0.1/backend/account/images/site-images/favicon-lg.ico'}, {'img_url': 'http://127.0.0.1/backend/account/images/site-images /23891556799905703.png'}, {'img_url': 'http://127.0.0.1/backend/account/images/site-images/youtube-circle-black.png'}]}