Δικό μας προϊόν · Marketplace
Το UniMarket, ένα marketplace φτιαγμένο για το Μπανγκλαντές.
Πολλοί πωλητές, ένα καλάθι. Οι αγοραστές πληρώνουν με αντικαταβολή, παρακολουθούν την αποστολή κάθε καταστήματος και παίρνουν email σε κάθε βήμα. Οι πωλητές τρέχουν το κατάστημά τους από το Seller Center και η ομάδα διαχειρίζεται όλο το marketplace από έναν πίνακα διαχείρισης. Είναι στα bangla και τα αγγλικά, εγκαθίσταται σαν εφαρμογή και τρέχει στον δικό μας διακομιστή.
Σε λειτουργία, σε πρώιμη πρόσβαση, στο unimarket.22softwares.com, με δοκιμαστικό κατάλογο. Σχεδιάζεται το domain unimarket.bd.
- Web
- Installable app (PWA)
- বাংলা · English
- Light & dark
- γλώσσες, bangla και αγγλικά, σε ξεχωριστές διευθύνσεις
- 2
- κατηγορίες, από μόδα έως ψηφιακές λήψεις
- 34
- θέματα καταστήματος που μπορούν να αλλάξουν οι πωλητές
- 10
- βήματα παραγγελίας, με email σε καθένα: placed, confirmed, packed, shipped, delivered
- 5
Το ζωντανό marketplace
Στιγμιότυπα του δημόσιου καταστήματος από το ζωντανό site. Ο κατάλογος είναι δοκιμαστικά δεδομένα όσο το marketplace βρίσκεται σε πρώιμη πρόσβαση.

Αρχική σελίδα, αγγλικά 
Αρχική σελίδα, bangla 
Σελίδα κατηγορίας 
Σελίδα προϊόντος με flash sale 
Η σελίδα ενός πωλητή 
Οδηγός αγοράς

Αρχική στο κινητό 
Αρχική στο κινητό, bangla 
Όλες οι προσφορές στο κινητό
Τι παίρνουν αγοραστές, πωλητές και η ομάδα
Ένα καλάθι, πολλά καταστήματα
Ο αγοραστής ολοκληρώνει την αγορά μία φορά. Η παραγγελία σπάει σε μία αποστολή ανά κατάστημα, με δική της χρέωση παράδοσης και δική της κατάσταση. Οι επισκέπτες μπορούν να παραγγείλουν χωρίς λογαριασμό και η αντικαταβολή είναι η προεπιλεγμένη πληρωμή.
Παρακολούθηση χωρίς σύνδεση
Κάθε παραγγελία έχει αριθμό (UNI-3001 και πάνω). Όποιος έχει τον αριθμό και τα τελευταία τέσσερα ψηφία του τηλεφώνου βλέπει πού βρίσκεται και ο αγοραστής παίρνει email σε κάθε αλλαγή κατάστασης αποστολής.
Seller Center για κάθε κατάστημα
Οι πωλητές καταχωρούν προϊόντα, υπηρεσίες και ψηφιακές λήψεις, χειρίζονται παραγγελίες από την επιβεβαίωση έως την αποστολή, εκτυπώνουν τιμολόγια και ετικέτες, βλέπουν τα έσοδα και τα αναλαμβάνουν, και σχεδιάζουν τη σελίδα τους με 10 θέματα και page builder με μπλοκ.
Εργαλεία ανάπτυξης ενσωματωμένα
Flash sales και καμπάνιες στις οποίες συμμετέχουν οι πωλητές, κουπόνια πλατφόρμας και καταστήματος, χορηγούμενα προϊόντα με χρέωση ανά κλικ από πορτοφόλι, newsletter, push ειδοποιήσεις και εκτυπώσιμα φυλλάδια με QR για κάθε κατάστημα.
Πίνακας διαχείρισης για όλο το marketplace
Παραγγελίες, αιτήσεις πωλητών και έλεγχος ταυτότητας, έλεγχος προϊόντων, πληρωμές, καμπάνιες, αρχική σελίδα και banners, στατιστικά επισκεπτών και checkout (με εγκαταλελειμμένα checkout), ρόλοι προσωπικού με σύνδεση δύο βημάτων και audit log.
Εγκαταστάσιμο και γρήγορο σε αργά κινητά
Εγκαθίσταται από τον browser σαν εφαρμογή, έχει κάτω γραμμή καρτελών στα κινητά, δουλεύει σε αργές συνδέσεις και μπορεί να στέλνει ενημερώσεις παραγγελίας ως push ειδοποιήσεις.
Ένας κώδικας, τέσσερις επιφάνειες
Το κατάστημα, το Seller Center, ο πίνακας διαχείρισης και η εγκαταστάσιμη εφαρμογή τρέχουν από ένα έργο TypeScript στον δικό μας διακομιστή.
Βιτρίνα
Σελίδες που αποδίδονται στον διακομιστή με ελάχιστη JavaScript στον πελάτη, ξεχωριστή διεύθυνση ανά γλώσσα με hreflang, structured data, sitemaps και feed προϊόντων για το Google Merchant.
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS 4
Seller Center και διαχείριση
Δύο κόσμοι σύνδεσης σε έναν κώδικα: οι πωλητές βλέπουν μόνο τις δικές τους παραγγελίες και προϊόντα, το προσωπικό συνδέεται με κωδικό και κωδικό authenticator και παίρνει ακριβώς τα δικαιώματα του ρόλου του.
- Server actions
- Zod
- TOTP
- Audit log
Δεδομένα
MongoDB σε δική της εγκατάσταση, με ενεργή πιστοποίηση και χρήστη εφαρμογής με ελάχιστα δικαιώματα. Τα χρήματα αποθηκεύονται σε ακέραια poisha, ποτέ ως δεκαδικά, και οι παραγγελίες δεσμεύουν απόθεμα ατομικά.
- MongoDB
- Mongoose
- sharp
Σύνδεση και μηνύματα
Οι αγοραστές συνδέονται με κωδικό μίας χρήσης μέσω email ή τηλεφώνου, ή με Google ή Apple. Τα email παραγγελιών υπογράφονται με DKIM από τον δικό μας mail server και οι push ειδοποιήσεις περνούν από το Firebase Cloud Messaging.
- Firebase Auth
- FCM
- Postfix
- OpenDKIM
Λειτουργία
Το τρέχουμε μόνοι μας
Δική μας βάση δεδομένων, δικά μας αντίγραφα ασφαλείας, δική μας ρύθμιση mail και deploy με μία εντολή, με rollback επίσης με μία εντολή.
- Φιλοξενείται στο δικό μας VPS πίσω από το Cloudflare, με πιστοποιητικό Let’s Encrypt και nginx μπροστά από την εφαρμογή.
- Δική της υπηρεσία MongoDB, δεμένη στον ίδιο τον διακομιστή με ενεργή πιστοποίηση, με αντίγραφο κάθε νύχτα και διατήρηση 14 ημερών.
- Όρια ρυθμού στη σύνδεση και στο API στον web server, και όρια ανά χρήστη μέσα στην εφαρμογή.
- Τα email παραγγελιών περνούν SPF, DKIM και DMARC και καταλήγουν στα εισερχόμενα, όχι στα ανεπιθύμητα.
- Deploy με μία εντολή που χτίζει στον διακομιστή, αλλάζει έκδοση και κάνει health check, και rollback στην προηγούμενη έκδοση με μία εντολή.
Δύσκολα προβλήματα που λύσαμε
Όσα δεν βλέπουν ποτέ οι αγοραστές.
Γρήγορες σελίδες στα bangla
- Το πρόβλημα
- Μια γραμματοσειρά web για bangla είναι μεγάλη. Μετρήσαμε μία περίπου 200 KB στην πορεία προς τον πρώτο σχεδιασμό.
- Τι κάναμε
- Χρησιμοποιούμε τη γραμματοσειρά bangla που υπάρχει ήδη στο κινητό ή τον υπολογιστή και μια μικρή γραμματοσειρά δική μας μόνο για λατινικούς χαρακτήρες και αριθμούς.
Αποτέλεσμα Στη δοκιμή μας η γραμματοσειρά web κόστισε πάνω από δέκα βαθμούς στο mobile Lighthouse performance και η γραμματοσειρά του συστήματος κανέναν.
Ένα checkout, πολλοί πωλητές
- Το πρόβλημα
- Ένα καλάθι μπορεί να έχει προϊόντα από πολλά καταστήματα, καθένα με δικό του απόθεμα, χρέωση παράδοσης και κατάσταση, και ένα διπλό πάτημα δεν πρέπει να δημιουργεί δύο παραγγελίες.
- Τι κάναμε
- Το checkout ξαναυπολογίζει όλες τις τιμές από τη βάση, δεσμεύει απόθεμα ατομικά, σπάει την παραγγελία σε μία αποστολή ανά κατάστημα και αγνοεί μια επαναλαμβανόμενη υποβολή.
Αποτέλεσμα Κάθε πωλητής βλέπει μόνο τη δική του αποστολή, ο αγοραστής βλέπει μία παραγγελία με χρονολόγιο ανά κατάστημα και η ακύρωση επιστρέφει το απόθεμα.
Ενημερώσεις χωρίς να σπάνε οι ανοιχτές καρτέλες
- Το πρόβλημα
- Μετά από ένα deploy, ένας αγοραστής που άφησε μια καρτέλα ανοιχτή μπορεί να πατήσει κουμπί της παλιάς έκδοσης και να δει σφάλμα.
- Τι κάναμε
- Κάθε έκδοση έχει δικό της deployment id και η σελίδα ξαναφορτώνει μόνη της όταν διαπιστώνει ότι οι ενέργειές της ανήκουν σε έκδοση που δεν υπάρχει πια.
Αποτέλεσμα Μπορούμε να κάνουμε deploy μέρα μεσημέρι χωρίς να δει κανείς σπασμένο κουμπί.
Δοκιμασμένο σαν προϊόν, όχι σαν demo
- Lighthouse στο τοπικό production build μας: Accessibility, Best Practices και SEO στο 100 σε κάθε σελίδα που δοκιμάσαμε, Performance 93 έως 98 στο κινητό.
- Έλεγχος ασφαλείας ολόκληρης της εφαρμογής, με πρώτα τα ευρήματα εκμετάλλευσης λογαριασμών και μετά τα μέτρια.
- Πραγματικές ροές παραγγελίας, ακύρωσης και παρακολούθησης δοκιμασμένες από άκρη σε άκρη στο ζωντανό site, μαζί με τα email κάθε βήματος.
- Έλεγχοι τύπων και unit tests για επικύρωση τηλεφώνου και χειρισμό χρημάτων, και build που αποτυγχάνει όταν λείπει κάποιο κείμενο στα bangla.
Τεχνολογία
- Next.js
- React
- TypeScript
- Tailwind CSS
- MongoDB
- Firebase
- nginx
- Postfix
- Cloudflare
chessGM: μια πλατφόρμα σκακιού που φτιάξαμε και λειτουργούμε
Θέλετε ένα marketplace φτιαγμένο έτσι;
Σχεδιάζουμε, φτιάχνουμε και λειτουργούμε καταστήματα πολλών πωλητών από άκρη σε άκρη: βιτρίνα, εργαλεία πωλητών, διαχείριση, πληρωμές, παράδοση, email και hosting.