Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luxuereal/pottersea_metaverse
https://github.com/luxuereal/pottersea_metaverse
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/luxuereal/pottersea_metaverse
- Owner: luxuereal
- License: apache-2.0
- Created: 2023-08-02T02:10:36.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-11T18:48:31.000Z (5 months ago)
- Last Synced: 2024-08-11T20:03:51.672Z (5 months ago)
- Language: JavaScript
- Size: 11.3 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PotterSea
Üçbüyücü turnuvasına özel, Harry Potter temalı,3D MetaVerse NFT Marketplace.
[![image info](https://raw.githubusercontent.com/dogukanzorlu/PotterSea/main/pottersea_youtube.png?token=AAKD644ZEQNBWVOL35TWCQDBX4UIA)](https://www.youtube.com/watch?v=GKQ1u-M0J6o)
# İçindekiler
- [Server](#server)
- [Backend - Stack](#backend-stack)
- [Client](#client)
- [Client - Stack](#client-stack)
- [Kurulum](#kurulum)
- [Test](#test)## Server
Solidity ile geliştirilmiş olan smart contractlar aracağılı ile üretmiş olduğunuz herhangi bir şey'i mintler. Üretilen NFT'i yi tekrar client'a sunar. Ethereum server ile iletişimi API içinde ki Rustla yazılmış NIF'ler aracılığı ile gerçekleştirir.
### Backend-Stack
- [Elixir] - Ana Çatı API
- [Rust] - Eth server ile iletişimi sağlayan Native Functions
- [Solidity] - Yüklenen şeyin bir NFT'ye dönüşmesini sağlayan Smart Contracts.
- [MongoDb] - Mintlenen her token'ın metadatası mongo'da tutulur.
- [Ganache] - Eth server
- [Truffle] - Smart Contract Migrations
- [IPFS] - Mintlenen data ipfs de tutulur.## Client
Server'ın verdiği REST API aracılıgıyla mint edilmis NFT ile ilgili metadata bilgilerini alır ve bir VR ortamında görüntülenmesini sağlar.
### Client-Stack
- [Aframe] - ThreeJS bazlı VR kütüphanesi.
## Kurulum
Localinizde hali hazırda mongodb yüklüyse port çakışmasını önlemek için kapatmalısınız.
#### Linux için
```sh
sudo systemctl stop mongod
```#### Mac için
```sh
brew services stop mongodb-community
```### Server Kurulum
Paket bağımlılıkları, birden fazla image ile docker'ın ayağı kalkması internet hızınıza da bağlı olarak 15 dk'yı bulabilmektedir.
Docker image ayağa kalktıktan sonra npm paketleri ve elixir paketlerinin compile olmasını beklemelisiniz!```sh
cd PotterSea/docker
sudo docker-compose up -d
```### Client Kurulum
```sh
cd client
sudo docker-compose up -d
```Cors yememek için kullandığınız browser'a göre cors'u kapatmayı unutmayın!
- [Client] - localhost:1001
- [Server] - localhost:4000
- [Ganache Server] - localhost:8545
- [IPFS API] - localhost:5001
- [IPFS Client] - localhost:8080## Test
### API test
```sh
sudo docker exec -it docker_backend_1 /bin/bash
root> mix test test/test/potter_sea_web/controllers/token_controller_test.exs
```### Contract test
```sh
sudo docker exec -it docker_backend_1 /bin/bash
root> truffle test
```