Skip to content

NFT Bidding platform is user centric NFT Marketplace. Users can mint(Create), sell, buy & re-sell NFTs. Images are uploaded to Google Dev Bucket and Razorpay as the payment Gateway.

License

Notifications You must be signed in to change notification settings

muhammadfarhankt/NFT-Bidding-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NFT-Bidding-Platform

Import Packages

# For interacting with Google Cloud Storage services
go get cloud.google.com/go/[email protected]

# A robust library for sending emails
go get github.com/go-mail/[email protected]

# For validating structs and fields against certain criteria
go get github.com/go-playground/validator/[email protected]

# Provides methods for creating and validating JSON Web Tokens (JWT)
go get github.com/golang-jwt/jwt/[email protected]

# Used for generating, parsing, and inspecting UUIDs
go get github.com/google/[email protected]

# Loads environment variables from a `.env` file
go get github.com/joho/[email protected]

# A PDF document generator
go get github.com/jung-kurt/[email protected]

# A high performance, extensible, minimalist Go web framework
go get github.com/labstack/echo/[email protected]

# The official Go SDK for interacting with Razorpay payment gateway
go get github.com/razorpay/[email protected]

# A cron library for scheduling jobs to run at fixed times or intervals
go get github.com/robfig/cron/[email protected]

# The official MongoDB driver for the Go language
go get go.mongodb.org/[email protected]

# Provides additional cryptography packages
go get golang.org/x/[email protected]

# The Go implementation of gRPC, a high performance, open-source universal RPC framework
go get google.golang.org/[email protected]

Start App in Terminal

go run main.go ./env/dev/.env.auth
go run main.go ./env/dev/.env.nft
go run main.go ./env/dev/.env.user

Generate a Proto File Command

Auth

protoc --go_out=. --go_opt=paths=source_relative \
    --go-grpc_out=. --go-grpc_opt=paths=source_relative \
    modules/auth/authPb/authPb.proto

NFT

protoc --go_out=. --go_opt=paths=source_relative \
    --go-grpc_out=. --go-grpc_opt=paths=source_relative \
    modules/nft/nftPb/nftPb.proto

User

protoc --go_out=. --go_opt=paths=source_relative \
    --go-grpc_out=. --go-grpc_opt=paths=source_relative \
    modules/user/userPb/userPb.proto

Google Cloud Setup for Image Uploading

Prerequisites

  • Google Cloud Platform account
  • Python 3.8 to 3.12 (for GCP CLI installation)
  • Go environment

Step 1: Create a GCP Account

Ensure you have an account on Google Cloud Platform. If not, sign up at Google Cloud.

Step 2: Create a New GCP Project

  1. After logging in, navigate to your GCP Dashboard.
  2. Click New Project and follow the prompts to create your project.

Step 3: Create a Storage Bucket

  1. Go to the Cloud Storage section in your GCP Console.
  2. Click Create bucket and follow the steps:
    • Name your bucket: Follow GCP naming conventions.
    • Choose where to store your data: Select Mumbai for the location.
    • Configure your storage class and access control: Use Fine-grained for access control.
    • Set public access prevention: Initially set to Enforced.

Step 4: Configure Bucket for Public Access

Later, you can modify the bucket settings to allow public access to specific objects as needed.

Step 5: Install GCP CLI

Check your Python version:

python3 -V

About

NFT Bidding platform is user centric NFT Marketplace. Users can mint(Create), sell, buy & re-sell NFTs. Images are uploaded to Google Dev Bucket and Razorpay as the payment Gateway.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published