{"id":22825294,"url":"https://github.com/elsoul/skeet-solana-mobile-stack","last_synced_at":"2026-03-05T23:42:29.031Z","repository":{"id":186446259,"uuid":"674823877","full_name":"elsoul/skeet-solana-mobile-stack","owner":"elsoul","description":"🧪 Skeet Framework Boilerplate for Solana Mobile Stack  and Solana Web dApp🌊","archived":false,"fork":false,"pushed_at":"2024-07-11T20:07:53.000Z","size":21260,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-04T08:20:55.875Z","etag":null,"topics":["ai","blockchain","chatgpt","expo","firebase","firestore","google-cloud","gpt-4","nextjs","react","react-native","serverless","solana","typescript","web3"],"latest_commit_sha":null,"homepage":"https://skeet.dev/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elsoul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-08-04T22:05:31.000Z","updated_at":"2025-03-06T16:53:38.000Z","dependencies_parsed_at":"2023-10-24T13:40:04.488Z","dependency_job_id":"437fad5c-37c1-4f39-ab7d-bc00be622c00","html_url":"https://github.com/elsoul/skeet-solana-mobile-stack","commit_stats":{"total_commits":164,"total_committers":2,"mean_commits":82.0,"dds":0.04268292682926833,"last_synced_commit":"e04e76de49859cc65679035d19d7b0115b15d323"},"previous_names":["elsoul/skeet-solana-mobile-stack"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/elsoul/skeet-solana-mobile-stack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elsoul%2Fskeet-solana-mobile-stack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elsoul%2Fskeet-solana-mobile-stack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elsoul%2Fskeet-solana-mobile-stack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elsoul%2Fskeet-solana-mobile-stack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elsoul","download_url":"https://codeload.github.com/elsoul/skeet-solana-mobile-stack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elsoul%2Fskeet-solana-mobile-stack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30156180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T22:39:40.138Z","status":"ssl_error","status_checked_at":"2026-03-05T22:39:24.771Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["ai","blockchain","chatgpt","expo","firebase","firestore","google-cloud","gpt-4","nextjs","react","react-native","serverless","solana","typescript","web3"],"created_at":"2024-12-12T17:10:06.239Z","updated_at":"2026-03-05T23:42:29.013Z","avatar_url":"https://github.com/elsoul.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Skeet Solana Mobile Stack\n\n![Skeet Solana Mobile Stack](https://storage.googleapis.com/skeet-assets/animation/SkeetSolanaMobileStack.gif)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://twitter.com/intent/follow?screen_name=ELSOUL_LABO2\"\u003e\n    \u003cimg src=\"https://img.shields.io/twitter/follow/ELSOUL_LABO2.svg?label=Follow%20@ELSOUL_LABO2\" alt=\"Follow @ELSOUL_LABO2\" /\u003e\n  \u003c/a\u003e\n  \u003cbr/\u003e\n\n  \u003ca aria-label=\"npm version\" href=\"https://www.npmjs.com/package/@skeet-framework/cli\"\u003e\n    \u003cimg alt=\"\" src=\"https://badgen.net/npm/v/@skeet-framework/cli\"\u003e\n  \u003c/a\u003e\n  \u003ca aria-label=\"Downloads Number\" href=\"https://www.npmjs.com/package/@skeet-framework/cli\"\u003e\n    \u003cimg alt=\"\" src=\"https://badgen.net/npm/dt/@skeet-framework/cli\"\u003e\n  \u003c/a\u003e\n  \u003ca aria-label=\"License\" href=\"https://github.com/elsoul/skeet-cli/blob/master/LICENSE.txt\"\u003e\n    \u003cimg alt=\"\" src=\"https://badgen.net/badge/license/Apache/blue\"\u003e\n  \u003c/a\u003e\n    \u003ca aria-label=\"Code of Conduct\" href=\"https://github.com/elsoul/skeet-cli/blob/master/CODE_OF_CONDUCT.md\"\u003e\n    \u003cimg alt=\"\" src=\"https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Skeet Solana Mobile Stack (Expo) + Web (Next.js) - Firestore Template\n\nSolana Mobile Stack: https://docs.solanamobile.com/\n\n- [Firebase - Serverless Platform](https://firebase.google.com/)\n- [Google Cloud - Cloud Platform](https://cloud.google.com/)\n- [Jest - Testing framework](https://jestjs.io/)\n- [TypeScript - Type Check](https://www.typescriptlang.org/)\n- [ESLint - Linter](https://eslint.org/)\n- [Prettier - Formatter](https://prettier.io/)\n- [React Native](https://reactnative.dev/)\n- [Expo](https://docs.expo.dev/)\n- [EAS Build](https://docs.expo.dev/build/introduction/)\n- [Recoil - State Management](https://recoiljs.org/)\n- [React i18n - Localization](https://react.i18next.com/)\n- [twrnc - TailwindCSS](https://github.com/jaredh159/tailwind-react-native-classnames)\n- [React Navigation - Routing](https://reactnavigation.org/)\n- [Solana - The fastest L1 Blockchain](https://solana.com/)\n- [Solana Web3.js - Solana JavaScript API](https://github.com/solana-labs/solana-web3.js)\n- [Solana Mobile Wallet Adapter](https://docs.solanamobile.com/react-native/overview)\n- [Next.js - SSG Framework](https://nextjs.org/)\n- [React - UI Framework](https://reactjs.org/)\n- [Tailwind - CSS Framework](https://tailwindcss.com/)\n- [Solana Wallet Adapter (Web)](https://github.com/solana-labs/wallet-adapter)\n- [umi - Solana Token Management](https://github.com/metaplex-foundation/umi)\n- [Bubblegum - Solana Compressed NFTs (cNFTs)](https://developers.metaplex.com/bubblegum)\n- [SIWS - Sign In With Solana](https://github.com/phantom/sign-in-with-solana)\n\n## What's Skeet?\n\nTypeScript Serverless Framework 'Skeet'.\n\nThe Skeet project was launched with the goal of reducing software development, operation, and maintenance costs.\n\nBuild Serverless Apps faster.\n\n## Setup\n\nSolana Mobile Stack - Development Setup: https://docs.solanamobile.com/getting-started/development-setup\n\n## Dependency\n\n- [TypeScript](https://www.typescriptlang.org/)\n- [Node](https://nodejs.org/)\n- [Yarn](https://yarnpkg.com/)\n- [Google SDK](https://cloud.google.com/sdk/docs)\n\nYou might need to install specific java version like here:\n\n```\n$ curl -s \"https://get.sdkman.io\" | bash\n$ sdk install java 11.0.20-zulu\n$ sdk use java 11.0.20-zulu\n\n$ java --version\nopenjdk 11.0.20 2023-07-18 LTS\nOpenJDK Runtime Environment Zulu11.66+15-CA (build 11.0.20+8-LTS)\nOpenJDK 64-Bit Server VM Zulu11.66+15-CA (build 11.0.20+8-LTS, mixed mode)\n```\n\n## Usage\n\n※ANDROID_HOME environment is important. Please do not forget to put your ANDROID SDK PATH to eas.json and package.json\n(It will be like ~/Library/Android/sdk)\n\n```bash\n$ npm i -g firebase-tools\n$ npm i -g @skeet-framework/cli\n```\n\n```bash\n$ skeet create \u003cproject-name\u003e\n$ cd \u003cproject-name\u003e\n$ skeet s\n```\n\nor if you pulled this repo:\n\n```bash\n$ skeet yarn i\n$ skeet s\n```\n\nIf you setup the Android Emulator, the mobile app will be launched automatically.\n\nWeb-Frontend: http://localhost:4200\nFirebase Emulator: http://localhost:4000\n\n**※ You need OpenAI API key to use ChatGPT.**\n\n_./functions/skeet/.env_\n\n```bash\nCHAT_GPT_KEY=your-key\nCHAT_GPT_ORG=your-org\n```\n\nTest your app:\n\n```bash\n$ skeet test\n```\n\n## EAS Build\n\n[EAS Build](https://docs.expo.dev/build/introduction/)\n\nYou need to run this command to setup EAS Build project.\n(Edit app.json for example changing names and deleting \"extra\" to build new project.)\n\n```\nyarn build:configure\n```\n\n## Solana Wallet\n\nYou can use Solana Wallet Private key converter to get the keyfile.json.\nPhantom's Show Private Key gives us the strings which is not compatible with Solana CLI.\nSo we need to convert it to the Uint8Array and made the script for it.\n\n```\n$ yarn solana:key:convert (default: key.json)\n// or if you want to name the file.\n$ yarn solana:key:convert -- keyfile.json\n```\n\n## How to create Compressed NFTs (cNFTs)?\n\nEN: https://medium.com/@KishiTheMechanic/how-to-mint-solana-compressed-nfts-cnfts-with-typescript-be9d0fa7ce30\n\nJA: https://zenn.dev/ki4themecha2q/articles/7dcb9753783a23\n\n## Implemening SIWS (Sign In With Solana)\n\nEN: https://medium.com/@KishiTheMechanic/implementing-sign-in-with-solana-siws-ce35dadeda31\n\nJA: https://zenn.dev/ki4themecha2q/articles/85b8725a142f76\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/elsoul/skeet-solana-mobile-stack This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.\n\n## License\n\nThe package is available as open source under the terms of the [Apache-2.0 License](https://www.apache.org/licenses/LICENSE-2.0).\n\n## Code of Conduct\n\nEveryone interacting in the SKEET project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/elsoul/skeet-solana-mobile-stack/blob/master/CODE_OF_CONDUCT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felsoul%2Fskeet-solana-mobile-stack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felsoul%2Fskeet-solana-mobile-stack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felsoul%2Fskeet-solana-mobile-stack/lists"}