Giter Site home page Giter Site logo

refertv / itemszop Goto Github PK

View Code? Open in Web Editor NEW

This project forked from learn-mandarin/itemszop

0.0 1.0 0.0 5.92 MB

Sklep twojego serwera minecraftowego za darmo!

Home Page: https://itemszop.tk

License: MIT License

Shell 0.36% JavaScript 21.76% Vue 77.79% Dockerfile 0.09%

itemszop's Introduction

itemszop

Discord Deploy with Vercel Deploy with Netlify Deploy with heroku

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.

Spis treści

Wersja produkcyjna

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.

Plugin do serwera minecraftowego

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.

Wspierani operatorzy płatności

Własne hostowanie

Ważne: Pamiętaj, że nie potrzebujesz stawiać własnego sklepu. Możesz po prostu skorzystać z modelu SaaS.

Tutorial instalacji itemszopu na cloudflare

1. Konfiguracja bazy firebase

  • Włącz logowanie emailem i hasłem
    • Kliknij Build > Authentication > Sign-in method > Native providers > Email/Password
    • Następnie kliknij Enable przy polu Email/Password i kliknij Save
  • 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ęść:
{
	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:
{
	"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"
}

2. Przygotowanie sklepu

Wskazówka: Cloudflare jest najlepsze do hostowania itemszopu.

Użycie serwisów takich jak Cloudflare, Vercel, Netlify, Heroku lub Glitch

  • 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!

Hostowanie na własnym vps'ie lub innej maszynie.

  • 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!

Dodatkowe informacje

  • 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).

Limity na darmowych hostingach

statyczna strona + serverlessowe funkcje

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

serwer node.js

Heroku Glitch
Maksymalny czas działania 550h / miesiąc 1000h / miesiąc

Dla deweloperów

# 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ę.

Forum discordowe

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.

itemszop's People

Contributors

michaljaz avatar refertv avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.