Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cutupdev/solana-nft-marketplace

Solana NFT marketplace
https://github.com/cutupdev/solana-nft-marketplace

marketplace nft rust smart-contract solana typescript

Last synced: 14 days ago
JSON representation

Solana NFT marketplace

Awesome Lists containing this project

README

        

# Marketplace

No-code Solana NFT marketplaces powered by Holaplex. Feel free to reach out of me when you face difficulty[Whatspp: https://wa.me/13137423660, Telegram: https://t.me/DevCutup].

Tech Stack:

- Typescript
- Apollo GraphQL
- Next.JS/React

## Getting Started

Marketplaces is very easy to setup for local use or to be deployed on your own infrastructure.

0. Create a Marketplace at https://holaplex.com/marketplace/new
1. Clone the repo
2. `cd` into the folder
3. Install dependencies with `yarn install`
4. Edit `.env.development` and add the subdomain you chose in step 0, or any other active subdomain, eg: `espi`
5. Run it with `yarn dev`

## Create a Production Build

To create a production ready build use `yarn build`. Build files can be found in `.next`.

Detailed documentation can be found at https://nextjs.org/docs/deployment#nextjs-build-api

## Proxy

The active marketplace can be set by the `x-holaplex-subdomain` request header. Starting the `nginx` with [default.conf](/main/templates/default.conf.template) will set the subdomain header based on the current hostname context of the request.
The nginx conf relies on envstub provided by the official [nginx image](https://hub.docker.com/_/nginx) on Dockerhub.

To start nginx using the required configuration, use the following command:

```bash
$ docker run --network=host -v $(pwd)/templates:/etc/nginx/templates \
-e HOSTNAME=dev.holaplex.market.127.0.0.1.nip.io -e PORT=80 -e WEB_PORT=3000 \
-e PROXY_HOST=127.0.0.1.nip.io nginx:latest
```

If you already have something running in port `80` already, feel free to change that to a different port. Keep in mind that you'll need to append `:` on the url to access the NGINX server.

## Test your proxy setup!

Open a test marketplace, like [espi's marketplace](http://espi.dev.holaplex.market.127.0.0.1.nip.io).
Page should load without issues.