Auction Point adalah situs web tempat pengguna dapat membeli dan menjual barang. Tujuan saya dengan proyek tumpukan penuh ini adalah desain dan pengembangan platform lelang online, mirip dengan eBay. Implementasinya mengikuti arsitektur REST-API dan beberapa fitur utama adalah:
Tumpukan JavaScript digunakan untuk penyebaran yang lebih mudah dan lebih cepat, terdiri dari Express dan Node.js untuk back-end, MySQL untuk database dan bereaksi untuk front-end. Basis data relasional yang berbeda juga dapat digunakan karena pemodelan data, asosiasi, dan kueri ditangani dengan pemetaan objek-relasional menggunakan sekuelisasi .

Untuk mySQL back-end atau database relasional serupa diperlukan serta pemasangan node.js dan NPM.
Di file config.json, tambahkan pengaturan MySQL pribadi Anda.
Untuk menginstal Express, CORS, dan modul lain yang diperlukan, di Folder API Run: npm install
Untuk menghubungkan sektor ke database, jalankan perintah: sequelize init
Transaksi dienkripsi melalui protokol SSL/TLS. Untuk membuat sertifikat secara lokal, Anda dapat menggunakan mkcert dan kemudian menambahkan jalur di:
const sslServer = https . createServer ( {
key : fs . readFileSync ( '/yourpath/key.pem' ) ,
cert : fs . readFileSync ( '/yourpath/cert.pem' )
} , app ) ;Untuk memulai server cukup jalankan di direktori API:
npm start
Untuk front-end semua dependensi yang diperlukan didefinisikan dalam file package.json . Untuk menginstalnya cukup jalankan di direktori depan: npm install
Untuk memulai front-end di Direktori Depan menjalankan:
npm start
Untuk desain aplikasi saya menggunakan CSS murni dan beberapa komponen UI material. Beberapa animasi ditambahkan untuk transisi halaman, serta halaman pengeditan. Untuk judul dan elemen utama saya menggunakan Futura, yang merupakan jenis huruf yang sederhana dan abadi, sedangkan untuk tubuh dan detail saya menggunakan roboto dan font sans-serif serupa lainnya.

Halaman selamat datang situs agak sederhana, bertujuan untuk membuat pengunjung baru tertarik memasuki situs. Hanya ada tombol login dan ringkasan singkat dari layanan yang disediakan, sehingga mereka tidak kewalahan dengan informasi.

Dari halaman Lelang, pengguna dapat menelusuri daftar berdasarkan kategori, pencarian atau filter. Kategori memiliki struktur hierarkis, yang dicapai di MySQL dengan menggunakan diri yang merujuk pada kunci asing dan dengan membangun pohon di ujung front-end dan back-end secara rekursif saat dibutuhkan.

Halaman lelang memiliki semua detail suatu barang dan tergantung apakah pembeli atau penjual melihatnya, mereka disajikan dengan berbagai opsi. Foto-foto ditampilkan dalam korsel dan untuk unggahan foto saya menggunakan Multer API di back-end. Untuk menampilkan lokasi yang saya gunakan OpenStreetMap dan Leaflet . Pengguna dapat menambahkan lokasi yang tepat dengan menjatuhkan pin atau dengan mencari. Saya merancang wadah seperti polaroid untuk peta seperti yang dapat terlihat di tangkapan layar di atas, di mana koordinat ditampilkan dalam format DMS.

Untuk bidang pendaftaran, serta bentuk -bentuk lain dari situs web, saya menggunakan Yup untuk melakukan validasi skema dalam kombinasi dengan perpustakaan Formik . Kata sandi pengguna disimpan dalam basis data hash menggunakan fungsi bcrypt , yang didasarkan pada cipher blowfish.

Di halaman profil, pembeli dapat melihat semua item yang tersedia dari penjual. Halaman dasbor serupa disediakan untuk setiap pengguna, di mana item juga disarankan untuk mereka. Sistem rekomendasi menggunakan algoritma matriks faktorisasi, sementara data untuk itu dikumpulkan saat pengguna mengunjungi lelang atau menawar.

Selain dari Inbox, OutBox dan kemampuan untuk mengirim pesan baru, di klien surat ada juga antarmuka pesan. Di sana selain dari pesan, pembeli dapat menilai penjual ketika suatu barang telah tiba dan penjual masing -masing dapat menilai pembeli ketika mereka telah menyelesaikan pembayaran.

Saat masuk administrator dapat menyetujui aplikasi pengguna, serta mengekspor detail lelang dalam format XML, JSON atau CSV mengikuti template Ebay DTD. Juga, untuk mengisi database dan melatih algoritma rekomendasi, saya menggunakan data nyata dari situs web eBay dalam format XML yang disediakan oleh UCLA.
Situs web ini dibangun menggunakan Express, Node.js, MySQL, Sequellize dan React.