ItemSzop to sklep twojego serwera minecraftowego za darmo! Działa dzięki złożeniu serverless'owych funkcji z hostowaniem statycznych plików. Nie wymaga żadnej instalacji - model SaaS. Serwis jest zrobiony we frameworku Nuxt.js. Uwierzytelnianie użytkowników i zapisywanie konfiguracji sklepów odbywa się za pośrednictwem bazy danych Firebase. Dodatkowo użyty jest framework Vuetify do ładnych stylów strony.
- Wersja produkcyjna
- Plugin do serwera minecraftowego
- Wspierani operatorzy płatności
- Konfiguracja budowania
- Własne hostowanie
- Dodatkowe informacje
- Limity na darmowych hostingach
- Dla deweloperów
- Forum discordowe
Wersja produkcyjna znajduje się pod adresem: https://itemszop.tk.
Nie jest wymagane hostowanie własnego sklepu - model Software as a Service. Na tej stronie może się każdy zarejestrować i założyć swój sklep. Wówczas sklep dostanie adres https://itemszop.tk/shop/id_sklepu. Jest również możliwość przekierowania własnej domeny, lecz wtedy trzeba poprosić na forum discordowym.
Adres do repozytorium z pluginem: https://github.com/michaljaz/itemszop-plugin
Aby itemszop działał prawidłowo niezbędne jest zainstalowanie pluginu na serwerze minecraftowym. Gdy serwer jest offline komendy odkładają się na stos i wywołają się gdy będzie online.
- microsms.pl - api przelew, api sms
- paypal.com - api p24
- lvlup.pro - api
- hotpay.pl - api
- cashbill.pl - api
Ważne: Pamiętaj, że nie potrzebujesz stawiać własnego sklepu. Możesz po prostu skorzystać z modelu SaaS.
Tutorial instalacji itemszopu na cloudflare
- Włącz logowanie emailem i hasłem
- Kliknij
Build > Authentication > Sign-in method > Native providers > Email/Password
- Następnie kliknij
Enable
przy poluEmail/Password
i kliknijSave
- Kliknij
- Dodaj firebase to aplikacji webowej
- Kliknij
Project Overview
, następnie Ikonkę ze znakiem</>
- Otrzymasz wtedy kod node.js, z którego zapisz sobie tą część:
- Kliknij
{
apiKey: "XXXXXXXXX",
authDomain: "XXXXXXXXX",
databaseURL: "XXXXXXXXX",
projectId: "XXXXXXXXX",
storageBucket: "XXXXXXXXX",
messagingSenderId: "XXXXXXXXX",
appId: "XXXXXXXXX"
}
- Utwórz konto serwisowe w bazie
- Kliknij
ikonkę koła zębatego > Project Settings > Service accounts > Create service account > Generate new private key
- Zapisz plik
serviceAccountKey.json
na swoim komputerze - Zawartość pliku będzie wyglądać tak:
- Kliknij
{
"type": "XXXXXXXXX",
"project_id": "XXXXXXXXX",
"private_key_id": "XXXXXXXXX",
"private_key": "XXXXXXXXX",
"auth_uri": "XXXXXXXXX",
"token_uri": "XXXXXXXXX",
"auth_provider_x509_cert_url": "XXXXXXXXX",
"client_x509_cert_url": "XXXXXXXXX",
"client_email": "XXXXXXXXX"
}
- Tworzenie zmiennej FIREBASE_CONFIG
- Automatyczny generator (opcja 1): https://itemszop.tk/firebase_config
- Javascriptowy generator (opcja 2)
misc/env_generator.js
Wskazówka: Cloudflare jest najlepsze do hostowania itemszopu.
-
Zrób forka głównego repozytorium.
-
Połącz swoje repozytorium z panelem na danym serwisie.
-
Podczas konfiguracji, zapisz wartość punktu 2 w zmiennej środowiskowej (Environment variable) projektu
FIREBASE_CONFIG
. -
Gotowe!
-
Sklonuj repozytorium
-
Zapisz zmienną środowiskową
FIREBASE_CONFIG
w pliku.env
w roocie projektu. -
Wpisz kolejno komendy
npm install
,npm run build
-
Aby włączyć serwer wywołaj komendę
npm start
(najlepiej w tle używając np. screen) -
Gotowe!
-
Nowo powstały projekt działa tak samo jak strona główna Itemszopu, ale już łączy się do Twojej własnej bazy i ma swoich własnych użytkowników.
-
Jeśli chcesz, żeby twój sklep był tylko hostowany w 'roocie' projektu, to wystarczy dodać zmienną środowiskową
SINGLE_SHOP
o wartości id sklepu. -
Istnieje również możliwość zablokowania możliwości tworzenia sklepów wszystkim użytkownikom, oprócz jednego. Wówczas trzeba zapisać zmienną środowiskową
OWNER_ID
o wartości id użytkownika (wziętym z bazy firebase).
Limit wysyłanych requestów | Cloudflare | Vercel | Netlify |
---|---|---|---|
Serverlessowe funkcje | 100k / dzień | 100k / dzień | 125k / miesiąc |
Statyczna strona | bez limitu | bez limitu | bez limitu |
Heroku | Glitch | |
---|---|---|
Maksymalny czas działania | 550h / miesiąc | 1000h / miesiąc |
# Instalowanie bibliotek
$ npm install
############ KONFIGURACJA DEWELOPERA ############
# używając nuxta
$ npm run dev
# używając netlify
$ netlify dev
############ KONFIGURACJA PRODUKCYJNA ############
# Budowanie aplikacji
$ npm run build
# Hostowanie na porcie 8080
$ npm start
Aby uzyskać szczegółowe wyjaśnienie, jak to działa, sprawdź dokumentację.
Pod tym linkiem: https://discord.com/invite/Nx28v3yAER znajduje się serwer discordowy, na którym można zadawać pytania, składać propozycje lub zgłaszać problemy techniczne.