threedotstech / otomee-interface Goto Github PK
View Code? Open in Web Editor NEWA censorship-resistant Hub for The Metaverse, a place communities can call home. Create and exchange value with 0% fees.
License: GNU General Public License v3.0
A censorship-resistant Hub for The Metaverse, a place communities can call home. Create and exchange value with 0% fees.
License: GNU General Public License v3.0
As a seller
I need to have the ability to list any ERC721 token for sale
So that other users can see my listing and accept my offer.
Given the user has approved his token to be transferred by the Wyvern Proxy,
When the user lists an ERC720 item for sale and selects the desired ERC20 (If applicable)
Then listing must be added to the OrbitDB database, with the ability to be taken with both ETH or the specified ERC20.
As a developer
I need basic CI/CD pipelines
So that the agility of our development lifecycle improves.
Given a new release or feature is ready
When I merge the corresponding branch to master, release or dev
Then the corresponding CI/CD workflows must be executed, making the changes available on alpha.otomee.com and on IPFS.
As an trading platform
I need to migrate to the Stateswap contracts
So that we can leverage it's support and ecosystem.
Given Otomee currently works with the Wyvern contracts
When the platform is used
Then it should work with the Stateswap contracts instead.
As a seller
I need to have the ability to list any amount of a ERC1155 tokens for sale
So that other users can see my listing and accept my offer.
Given the user has approved his token to be transferred by the Wyvern Proxy,
When the user lists an ERC1155 item for sale and selects the desired ERC20 (If applicable)
Then listing must be added to the OrbitDB database, with the ability to be taken with both ETC and the specified ERC20.
As a user
I need a search bar functionality
So that I can easily and securely find collections and Items
Given there collection is registered in the collectible list
When I look up for the name of the collection on the search bar
Then I must see a button which takes me to the collection page.
As a seller
I need to have the ability to take WETH offers
So that I can obtain the WETH in exchange for my ERC721.
Given there is an existing WETH offer to a user's ERC721
When the seller takes the offer
Then the orders should be matched by Stateswap and the WETH offer must be removed from the OrbitDB database.
We need to migrate Rinkeby subgraphs to the Goerli network.
Given that the two new subgraphs have been deployed
When a user accesses Otomee on the Goerli testnet
Then the platform should display nft info queried by the Goerli subgraphs.
As a user
I need to persist the active orders
So that everyone can have access to offers made by other users
Given there are orders stored in the database
When a new user enters Otomee
Then his local copy of the database should start replicating the global state.
As a developer
I need a CI pipeline in GitHub Actions that builds my project every time I create a pull request to the dev, master or release branch
So that I can ensure that my code integrates seamlessly, passes all build steps, and maintains the quality of the development branch
Given the CI pipeline is triggered
When the pipeline executes
Then it installs all necessary dependencies
Given the CI pipeline is triggered
When the pipeline executes
Then it installs all necessary dependencies
And when the dependencies are installed
Then it builds the React project successfully without compilation errors
Given the React project build is successful
When I check the status of the pull request
Then I see a passing build status on the pull request
Given the React project build fails
When I check the status of the pull request
Then I see a failing build status and detailed error messages indicating the cause of the failure
As a contributor
I need clear install instructions
So that I can easily bootstrap the project to develop on my local machine
Given a new user/developer wants to install and run Otomee locally from source
When following the Installation instructions of the readme
Then after finishing the last step, running npm start should successfully run Otomee ready to use.
We need to refactor the order-building system to encapsulate all the logic inside a builder class.
As a buyer
I need to have the ability to make WETH offer
So that I can obtain the NFT in exchange for WETH token.
Given there is an existing ERC721 that the user wants and has enough funds to pay for it, in WETH
When the buyer creates the offer
Then the offer must be added to the OrbitDB database, with the ability to be taken by the owner of the ERC721.
As a buyer
I need to have the ability to take any ERC721 offer
So that I can obtain the NFT in exchange for ETH or an ERC20 token.
Given there is a listed ERC721 which the user wants and has enough funds to pay for it, whether its ETH or an ERC20
When the user takes the offer
Then the desired ERC721 token must be transferred to the buyer's address, and the listing price (in ETH or ERC20( must be transferred to the seller's address. After the transaction is confirmed, the sell offer must be deleted from the Orbit Database.
As a buyer
I need to have the ability to take any amount of a listed ERC1155 offer
So that I can obtain the NFT in exchange for ETH or an ERC20 token.
Given there is a listed ERC1155 offer with tree items,
When the user takes the offer, buying only two of the three items listed,
Then the two ERC1155s must be transferred to the buyer's address, and the desired price per ERC1155 times two (paid in ETH or ERC20) must be transferred to the seller's address. After the transaction is confirmed, the sell offer must be updated in the Orbit Database to reflect there is still one ERC1155 available for sell.
As a user
I need to be able to navigate to my profile from the Navigation Bar
So that easily see my collected Items and detailed profile
useWeb3React
hook documentation of the Web3-react
module.Given I am logged in to Otomee
When I clock on my profile button
Then I am redirected to my profile
We need to refactor the state management system to properly implement Redux across the whole application.
As a user
I need a warning when I don't have enough funds to make a transaction
So that I can be aware of why my purchase is failing
Given [some context]
When [certain action is taken]
Then [the outcome of action is observed]
As a user
I need a button to logout from Otomee
So that I can log in with other accounts if I want to.
Given the user has connected his wallet to Otomee
When he presses the logout button
Then his metamask wallet must disconnect from Otomee and his Orbitdb ID must change to an anonymous ID.
As a developer
I need a CD pipeline in GitHub Actions that builds the Otomee Interface and deploys it to an AWS S3 bucket and IPFS when changes are merged to the dev, release or master branch
So that my application is automatically updated and distributed across both AWS and IPFS networks, ensuring high availability and decentralization
Given the Otomee interface repository and a configured CD pipeline
When changes are merged into the dev, release or master branch
Then the CD pipeline triggers automatically
Given the CD pipeline is triggered
When the pipeline executes
Then it builds the React project successfully
And when the React project is built
Then it uploads the build artifacts to the specified AWS S3 bucket
And after uploading to AWS S3
Then it uploads the build artifacts to IPFS
Given the deployment is successful
When I access the React application URL on AWS S3
Then I see the latest version of the application
And when I access the React application through an IPFS gateway
Then I see the latest version of the application
We need to refactor the Item page state management to improve code maintainability and legibility.
As a trading platform
I need to migrate to the Görli testnet
So that we can leverage it's support and ecosystem.
Given Otomee's testnet currently runs on Rinkeby
When the platform is used
Then it should run on Görli instead.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.