Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
99 changes: 88 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,91 @@
# ICC Eliminator Submisison
Teams will be required to submit their code base on GitHub by forking this repository.
Follow the following steps to submit your code base.
1. **Fork** this repository.
1. Create a **folder with your team name**
1. **Upload** your code base and videos to the repository.
1. Create a **pull request** to this repository. Make sure you raise your **pull request** as per your **team name**.
1. You can also add you team details in the README.md of your forked repository
For Example:

Project Files Sumission for ICC Eliminators

### Team Information
------------
###### Team Name -
###### Track -

---

###### Team Name - Wasuli

###### Track - AR/VR Track

###### Important Links:

Prototype Video: https://youtu.be/3aX29PprPlE

NFT Ticketing URL: https://regal-dieffenbachia-30d0dd.netlify.app/

Runs/Over Stats URL: https://nimble-semifreddo-5e8b72.netlify.app/

###### Impotant Things to know:

NFT Ticketing Platform:

The NFT Ticketing system platform is deployed using blockchain technology specifically on Mantle Testnet for better efficiency and reliability.

Contract Address: 0xe0A8505673180b627a46f55cBe0D844cEf78A3dE

Network: Mantle Testnet

Testnet Scan: https://explorer.testnet.mantle.xyz/address/0xe0A8505673180b627a46f55cBe0D844cEf78A3dE

Tech Stacks used:

- Unreal Engine 5
- Mass AI
- React JS
- TypeScript
- Chart JS
- Blockchain
- Mantle Testnet
- Thirdweb SDK

Languages:
- C++, Visual Scripting, HLSL, Solidity, TypeScript, JavaScript, ReactJS, ChartJS

Platforms:
- Unreal Engine, Blender, MetaHuman, NodeJS

APIs:
- Nanite, Lumen, Chaos Vehicles, MetaHuman, Quixel Bridge, Mass AI, The Graph Protocol

Hardware:
- GPU: NVIDIA GeForce RTX 3060 Laptop GPU

- CPU: Intel(R) Core(TM) i7-10870H CPU @ 2.20GHz

- Memory: 16 GB RAM (15.84 GB RAM usable)

- Current resolution: 1920 x 1080, 144Hz

- Operating system: Windows 11

Sponsored Tools:
- Unreal Marketplace, CGTrader, TurboSquid

Frameworks:
- Unreal Engine: Nanite, Lumen, Chaos Vehicles, MetaHuman, Quixel Bridge, Mass AI, OpenSea, Binance NFTs

Special Mentions:
- Crictos NFT Marketplace
- Mini Games
- 3D POS Tracker

###### Brief Description and Snapshots -

The Metaplex experience developed for cricket fans is a new way of enhancing the viewing experience by providing an immersive and modern platform that contains various features like NFT ticketing, ChatGPT integration, in-game activities, live concerts, ICC Expo, NFT art gallery, and much more.

![Team_Wasuli_Cover_Picture](https://user-images.githubusercontent.com/64951792/222491980-b1a16fe1-3755-44f2-92b9-a8e86f02fa3a.png)

The platform is designed to cater to the needs of cricket fans who want to engage with the game in a more interactive and engaging way. With the Metaplex, users can access a stadium where they can enjoy live matches, get live updates on scores, player information, stats like runs per over through graphs, and other relevant information in real-time. The platform also provides users with a chatbot integration feature that allows them to engage with ChatGPT, a language model trained by OpenAI, to get personalized responses to their queries and comments.

![Stats_Runs_Per_Over](https://user-images.githubusercontent.com/64951792/222493209-fe1131eb-2395-4ace-a445-6d7b05aa60de.png)

One of the most exciting features of the Metaplex is NFT ticketing. With this feature, users can purchase digital tickets for live matches that are verified through blockchain technology. These tickets are unique and cannot be replicated, providing users with an added layer of security and authenticity. Additionally, the platform also features an NFT art gallery that displays exclusive digital artwork related to cricket that users can collect, trade, and display in their virtual galleries.

![NFT_Museum](https://user-images.githubusercontent.com/64951792/222492283-22f3823e-472f-45b5-ab99-8d363ef4e7d2.png)

The Metaplex also features various fun elements such as live concerts and ICC Expo, which provides users with an opportunity to learn more about the sport and interact with other fans from around the world. The platform's design is also environment-friendly and boasts top-notch graphics that create an immersive and engaging experience for users.

![vlcsnap-2023-03-02-21h46m42s019](https://user-images.githubusercontent.com/64951792/222498178-482f1f49-a747-43b2-8db0-1c0ec44e7f90.png)
Binary file added Team_Wasuli/.DS_Store
Binary file not shown.
23 changes: 23 additions & 0 deletions Team_Wasuli/NFTTicketingUI/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
46 changes: 46 additions & 0 deletions Team_Wasuli/NFTTicketingUI/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Getting Started with Create React App

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

## Available Scripts

In the project directory, you can run:

### `npm start`

Runs the app in the development mode.\
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.

The page will reload if you make edits.\
You will also see any lint errors in the console.

### `npm test`

Launches the test runner in the interactive watch mode.\
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

### `npm run build`

Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.\
Your app is ready to be deployed!

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.

### `npm run eject`

**Note: this is a one-way operation. Once you `eject`, you can’t go back!**

If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.

You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.

## Learn More

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).

To learn React, check out the [React documentation](https://reactjs.org/).
42 changes: 42 additions & 0 deletions Team_Wasuli/NFTTicketingUI/contract.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// SPDX-License-Identifier: MIT

pragma solidity >=0.8.0;

contract Ticket {
uint256 ticketPrice = 0.01 ether;
address owner;
mapping(address => uint256) public ticketHolders;

constructor() {
owner = msg.sender;
}

function buyTickets(address _user, uint256 _amount) public payable {
require(msg.value >= ticketPrice * _amount);
addTickets(_user, _amount);
}

function useTickets(address _user, uint256 _amount) public {
subTickets(_user, _amount);
}

function addTickets(address _user, uint256 _amount) internal {
ticketHolders[_user] = ticketHolders[_user] + _amount;
}

function subTickets(address _user, uint256 _amount) internal {
require(
ticketHolders[_user] >= _amount,
"You do not have enough tickets. "
);
ticketHolders[_user] = ticketHolders[_user] - _amount;
}

function withdraw() public {
require(msg.sender == owner, "You are not the owner.");
(bool success, ) = payable(owner).call{value: address(this).balance}(
""
);
require(success);
}
}
Loading