{"id":19710720,"url":"https://github.com/rootstrap/dolphin-nft-marketplace-frontend","last_synced_at":"2025-04-29T17:31:25.997Z","repository":{"id":42673800,"uuid":"406888344","full_name":"rootstrap/dolphin-nft-marketplace-frontend","owner":"rootstrap","description":null,"archived":false,"fork":false,"pushed_at":"2022-03-28T23:08:29.000Z","size":82455,"stargazers_count":12,"open_issues_count":0,"forks_count":4,"subscribers_count":10,"default_branch":"develop","last_synced_at":"2025-04-05T18:51:59.768Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rootstrap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-15T18:44:25.000Z","updated_at":"2024-08-05T07:50:52.000Z","dependencies_parsed_at":"2022-09-21T23:10:47.347Z","dependency_job_id":null,"html_url":"https://github.com/rootstrap/dolphin-nft-marketplace-frontend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootstrap%2Fdolphin-nft-marketplace-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootstrap%2Fdolphin-nft-marketplace-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootstrap%2Fdolphin-nft-marketplace-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rootstrap%2Fdolphin-nft-marketplace-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rootstrap","download_url":"https://codeload.github.com/rootstrap/dolphin-nft-marketplace-frontend/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251549213,"owners_count":21607368,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T22:08:14.391Z","updated_at":"2025-04-29T17:31:20.979Z","avatar_url":"https://github.com/rootstrap.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dolphin NFTs\n\n- [Dolphin NFTs](#dolphin-nfts)\n  * [In a nutshell](#in-a-nutshell)\n  * [Usage](#usage)\n    + [Development](#development)\n      - [Env File](#env-file)\n      - [Environment variables](#environment-variables)\n      - [Creature Chronicles](#creature-chronicles)\n    + [Testing](#testing)\n  * [Available Scripts](#available-scripts)\n    + [`yarn start`](#-yarn-start-)\n    + [`yarn test`](#-yarn-test-)\n    + [`yarn build`](#-yarn-build-)\n    + [`yarn eject`](#-yarn-eject-)\n    + [`yarn cypress`](#-yarn-cypress-)\n    + [`yarn proxy`](#-yarn-proxy-)\n  * [More info](#more-info)\n    + [Folders:](#folders-)\n\n## In a nutshell\n\nThis app works as a handmade marketplace for NFTs sells by Dolphin in collaboration with FTX.\nCurrently, there are three collections been selling on the marketplace:\n- Hall Of Fame Media Village.\n- Heroletes.\n- Creature Chronicles.\nHoF and Heroletes works currently on dolphinnfts.com, but Creature Chronicles is accessed through creaturechronicles.com, although both are on this application.\n\nDesign can be found in: [FIGMA Page](https://www.figma.com/file/N3Nz27X4GqywgbrCcf2mnC/Dolphin-NFT-Marketplace?node-id=0%3A1).\n\n## Usage\n\n### Development\n\n#### Env File\nYou are going to need a `.env` file like this one:\n\n```bash\nREACT_APP_API_URL=http://localhost:8000/api/v1\nREACT_APP_FTX_API_URL=http://localhost:8010/proxy\nREACT_APP_ZENDESK_API_URL=https://dolphinentertainment.zendesk.com/api/v2\nREACT_APP_ZENDESK_URL=https://dolphinentertainment.zendesk.com/hc/en-us\nREACT_APP_CREATURES_URL=https://creaturechronicles.io\nREACT_APP_GOOGLE_KEY=6LdxzoocAAAAAKtmeJukgrkc20fRBkRqIVOlIqqX\nREACT_APP_CC_PUBLIC_KEY=LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tClZlcnNpb246IEJDUEcgdjEuNTQKCm1RRU5CRjE1Rm5NQkNBQzhhTStXWEpjcUhSeW5KUWlSTm03eExoN1Q3cmxpZkYvVnpncW01eDdGWnYvNGhXNWoKQTRibktaOFpZT0swNzVlbFljRGpUL2M1bDdMT25YRllBell3eENkc21nbm1HLzMzcXJPV08rUmxBbVREODZSWQowYWFZVWNIRkxUc0ttK29GNkpJMVB4NGd5c0xndlNlSUFCSEJvTlErU2N4dXgzM2VTZUlBMGg3L3dURFgzOU15CnM2YURmbWgvVWpnb0hhRDM5SjhDWUJpNVMyRGVzbjVLK2tjM0NkOUU1SVhGcjVhNG9mWmpWcGJJL092MGxOclkKZXQydDAzVHdEdGJ2VUtYUkxxejg5d1BvdEtGdldlTHZrOXlUZ3Jmd3BsSSs5ZEJCeUFqNHVVQUswNlBUUFJtTgpVWWUxNGQ4eFVOeWJpN1k5bGpSbU80blBIOWh3bTJ4SVZuU0JBQkVCQUFHMEJrTnBjbU5zWllrQkhBUVFBUWtBCkJnVUNYWGtXY3dBS0NSREpQWEtSZEw4TmRDc29CLzlid3pabnEwT0pNKzEvbnREYmhDcnZOaGJoQUhvd3RNclgKMmhqRmVhTy82ZHp2RXJpL25wVml5SzVsVjdMa0lkQi8ybS9sTEx0Nm9KZWdpeXoreXZlZ0pwTGQ0UmRvUC9CSgp0bHBBNjVwbFQyQys4UENoNkJRSCtIMVVZOE92TTFXT0p2VzBjU09xNzdzS3p1RFo4dGQ0OUVnTkpGdzlmb0dnClhYa1I0VHppSzdGTTZXQnlnYmdCNjVrQzZCVHJGNjRtY21xWHFrTHMyUVY5SEtTWmpHOTNxMGJHaUo0RStLbjYKam91dFhlVGc1YWZVL3VwN0g1TWxXM25mU3MyWHRLbFZ5MDdOQ1JYeCtwZUFzUEhpdmFGc3VDK3JUbTIwYVhWTwp5WUhJcmdsKzFNSktaWVNzRVRYMm8xaGkrWXVVeWRJMThuZmMzMGVSYVhyRVF5VzFWZ0w3Cj1CbXVaCi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS0=\nREACT_APP_CC_KEY_ID=key1\n```\n\n#### Environment variables\n```REACT_APP_API_URL```: URL for dolphin backend (dolphin-backend project).\n```REACT_APP_FTX_API_URL```: URL for FTX backend. Starting on local environment should pointing at the proxy (started with yarn proxy).\n```REACT_APP_ZENDESK_API_URL```: Zendesk API for starting zendesk widget.\n```REACT_APP_ZENDESK_URL```: Zendesk URL for dolphin FAQ.\n```REACT_APP_CREATURES_URL```: Creature Chronicles domain. Creatures Chronicles has it's own domain as can be accessed when developing on local modifying useRedirection hook (See Projects\u003eCreatures Chronicles).\n```REACT_APP_GOOGLE_KEY```: Google Key obtain as a constant from FTX endpoint. As it is always the same key it's added as a varible. This is used for getting recaptcha verification.\n```REACT_APP_CC_PUBLIC_KEY```: Public key used for encrypting data for requests to FTX. Mostly used on Credit Card and Deposit endpoints.\n```REACT_APP_CC_KEY_ID```: Key ID for Dolphin. Used on Deposit endpoints.\n\n#### Creature Chronicles\nTo start developing and running creature chronicles locally you should modify the useRedirect hook and set true as the initial state for ```isCreatureUser``` and comment the useEffect setState. It should look like this:\n\n```typescript\n  const [isCreaturesUser, setIsCreaturesUser] = useState(true);\n\n  useEffect(() =\u003e {\n    const path = window.location.origin;\n    // setIsCreaturesUser(path === process.env.REACT_APP_CREATURES_URL);\n  }, []);\n```\n\n### Testing\n\nThis project uses `cypress` for E2E testing.\nYou can run the tests with ```yarn cypress```.\n\n## Available Scripts\n\nIn the project directory, you can run:\n\n### `yarn start`\n\nRuns the app in the development mode.\\\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\n\nThe page will reload if you make edits.\\\nYou will also see any lint errors in the console.\n\n### `yarn test`\n\nLaunches the test runner in the interactive watch mode.\\\nSee the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.\n\n### `yarn build`\n\nBuilds the app for production to the `build` folder.\\\nIt correctly bundles React in production mode and optimizes the build for the best performance.\n\nThe build is minified and the filenames include the hashes.\\\nYour app is ready to be deployed!\n\nSee the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.\n\n### `yarn eject`\n\n**Note: this is a one-way operation. Once you `eject`, you can’t go back!**\n\nIf 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.\n\nInstead, 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.\n\nYou 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.\n\n### `yarn cypress`\nStarts cypress testing tool for development and testing purposes.\n\n### `yarn proxy`\nWill proxy all the api calls to ftx.us/api. This is used to prevent CORS errors developing locally. It's recommended to have it running when developing.\n\n## More info\n\n### Folders:\n\n- **`assets`**: Mostly images and vectors.\n- **`components`**: UI components commonly used through all the application.\n- **`constants`**: Constants used through all the app. In this folder, we discriminate between common constants and specific constants for each business unit. Over here, we also have routes and endpoints constants.\n- **`context`**: General context accessible in all the app.\n- **`helpers`**: Pure helpers functions. Something goes in, it's proccesed, something goes out.\n- **`hooks`**: Custom hooks used through all the application.\n- **`interfaces`**: All the interfaces used in the application. Some interfaces might be found on services, store or modals. Should be everything here.\n- **`interfaces`**: All the interfaces used in the application. Some interfaces might be found on services, store or modals. Should be everything here.\n- **`locales`**: i18n texts.\n- **`pages`**: All the components used on the routes are here. In this folder are ensemble and presented. Every route has a counterpart as a component expelled from this folder.\n- **`router`**: Main mecanism for controlling routes and lazy loading routes.\n- **`services`**: Holds connectivity files with the APIs. This app has Redux Toolkit integrated and uses createApi and fetchBaseQuery for API call.\n- **`services`**: Holds connectivity files with the APIs. This app has Redux Toolkit integrated and uses createApi and fetchBaseQuery for API call.\n- **`store`**: Configuration files regarding store set with redux.\n- **`styles`**: Base style files imported through all the app.\n- **`themes`**: Themes for Material UI interfaces. Currently there are two themes: general one, used on dolphinnfts.com and CreaturesTheme used on creaturechronicles.com.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frootstrap%2Fdolphin-nft-marketplace-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frootstrap%2Fdolphin-nft-marketplace-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frootstrap%2Fdolphin-nft-marketplace-frontend/lists"}