{"id":19464452,"url":"https://github.com/xtrendence/cryptoshare","last_synced_at":"2025-04-25T09:31:34.756Z","repository":{"id":37264597,"uuid":"408128316","full_name":"Xtrendence/CryptoShare","owner":"Xtrendence","description":"Grade: 82%. My COMP3000 final year university project that allows you to manage nearly every facet of your finances with an open-source web, mobile, and desktop application, along with a self-hosted GraphQL API.","archived":false,"fork":false,"pushed_at":"2022-06-20T22:39:25.000Z","size":169379,"stargazers_count":16,"open_issues_count":1,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-03T19:39:27.572Z","etag":null,"topics":["budgeting","chatbot","cryptocurrency","cryptocurrency-portfolio","docker","encryption","finance","graphql","income","neutralinojs","nlp","node-nlp","nodejs","php","react","react-native","stock-portfolio","stocks","webapp","website"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Xtrendence.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-19T13:00:42.000Z","updated_at":"2025-03-31T18:05:58.000Z","dependencies_parsed_at":"2022-09-05T12:01:25.588Z","dependency_job_id":null,"html_url":"https://github.com/Xtrendence/CryptoShare","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xtrendence%2FCryptoShare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xtrendence%2FCryptoShare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xtrendence%2FCryptoShare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xtrendence%2FCryptoShare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Xtrendence","download_url":"https://codeload.github.com/Xtrendence/CryptoShare/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250790073,"owners_count":21487741,"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":["budgeting","chatbot","cryptocurrency","cryptocurrency-portfolio","docker","encryption","finance","graphql","income","neutralinojs","nlp","node-nlp","nodejs","php","react","react-native","stock-portfolio","stocks","webapp","website"],"created_at":"2024-11-10T18:15:19.050Z","updated_at":"2025-04-25T09:31:31.159Z","avatar_url":"https://github.com/Xtrendence.png","language":"JavaScript","readme":"# CryptoShare\n\n![Thumbnail](./docs/Showcase/Thumbnail.jpg)\n\n![Screenshot](https://i.imgur.com/PyWvAun.png)\n\n![Screenshot](https://i.imgur.com/guOckSh.png)\n\n### Disclaimer\n\nThis is a piece of university coursework as part of my final year project.\n\n### Brief Demo\n\nA brief video has been recorded to [show the application running](https://www.youtube.com/watch?v=nyzBvKHnYas).\n\n### Setup Instructions\n\nPlease see the [following file](./SETUP.md) for setup instructions.\n\n### Project Supervisor\n\nThe supervisor for this project is [Shirley Atkinson](https://www.github.com/shirleyatkinson).\n\n### Project Vision\n\nContrived for investors and the financially diligent, who lack the ability to manage their finances privately and securely, CryptoShare is a self-hosted and open-source solution that allows them to track their income and investments through a unified interface featuring a website, cross-platform desktop app, and Android mobile app. User data is encrypted on the client-side  using military-grade AES-256 encryption.\n\nUsers can utilize the app to budget their monthly income, record everyday transactions, track their stock and cryptocurrency investments, record their trading activity, and easily manage or backup their data through intuitive import and export functionalities. Furthermore, users can discover new assets they may want to invest in, and keep track of ones they’re interested in.\n\n![Poster](./docs/Showcase/Poster.jpg)\n\n### Security\n\nOne of CryptoShare's main priorities is data protection and security. While most software encrypts data on the server-side, CryptoShare does it on the client-side no matter what. When you register an account, an encryption key is locally generated for you before being encrypted using your password. The encrypted key is then sent to the server, along with an RSA encrypted version of your password. The server then stores the encrypted key, and hashes your password. This means that even if the data stored on the server is stolen, the hackers cannot access any of your data unless they were to modify the API's code to decrypt your password **during** login, and use it to access your encryption key and subsequently your data.\n\nUser data such as activities, holdings, transactions, budget data, settings etc. are all encrypted with `AES-256`. Passwords are hashed using `bcrypt`. When logging in or creating an account, user details are encrypted using `RSA`, so even if the API doesn't support SSL/HTTPS, data is still encrypted when being sent.\n\n### Tech Stack\n\n- Database: SQLite\n\n- App API: Node.js, TypeScript, GraphQL\n\n- Chat Bot API: Node.js, TypeScript, Socket.IO, Natural Language Processing\n\n- Web App: HTML, CSS, JavaScript\n\n- Desktop App: Electron, EJS, HTML, CSS, JavaScript\n\n- Mobile App: React Native, TypeScript\n\n### Do you accept donations?\n\nIf you'd like to donate, then please feel free to do so, it'd be much appreciated. However, I don't want you to feel obliged to do so, and there are no perks for it. If you decide to donate, please contact me afterwards so I can actually thank you, and I'd love to hear about any ideas you may have for CryptoShare. If they're within the scope of the project, I'll probably implement them.\n\nClick on the collapsible items in the list below to view the corresponding donation address.\n\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eADA\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/LpWl8jW.png\" width=\"256\" height=\"256\"/\u003e\u003cbr\u003e\n\taddr1qyh9ejp2z7drzy8vzpyfeuvzuej5t5tnmjyfpfjn0vt722zqupdg44rqfw9fd8jruaez30fg9fxl34vdnncc33zqwhlqn37lz4\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eXMR\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/L4E4OH4.png\" width=\"256\" height=\"256\"/\u003e\u003cbr\u003e\n\t49wDQf83p5tHibw9ay6fBvcv48GJynyjVE2V8EX8Vrtt89rPyECRm5zbBqng3udqrYHTjsZStSpnMCa8JRw7cfyGJwMPxDM\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eETH\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/n0rC596.png\" width=\"256\" height=\"256\"/\u003e\u003cbr\u003e\n\t0x40E1452025d7bFFDfa05d64C2d20Fb87c2b9C0be\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eBCH\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/4uDMrQw.png\" width=\"256\" height=\"256\"/\u003e\u003cbr\u003e\n\tqrvyd467djuxtw5knjt3d50mqzspcf6phydmyl8ka0\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eBTC\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/tdtCSUv.png\" width=\"256\" height=\"256\"/\u003e\u003cbr\u003e\n\tbc1qdy5544m2pwpyr6rhzcqwmerczw7e2ytjjc2wvj\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eLTC\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/vRwQ5Dx.png\" width=\"256\" height=\"256\"/\u003e\u003cbr\u003e\n\tltc1qq0ptdjsuvhw6gz9m4huwmhq40gpyljwn5hncxz\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eDOT\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/rXkoLsf.png\" width=\"256\" height=\"256\"/\u003e\u003cbr\u003e\n\t12nGqTQsgEHwkAuHGNXpvzcfgtQkTeo3WCZgwrXLsiqs3KyA\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eNANO\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/GxVHByT.png\" width=\"256\" height=\"256\"/\u003e\u003cbr\u003e\n\tnano_3ed4ip7cjkzkrzh9crgcdipwkp3h49cudxxz4t8x7pkb8rad7bckqfhzyadg\n\u003c/details\u003e\n\n### Screenshots\n\nPlease note that the screenshots below were taken when development was initially finished; as such, they may differ from the current app as the UI could have changed since then. The screenshots also show the app's regular backgrounds rather than the alternate colorful one (which is enabled by default and can be disabled through the \"Settings\" page).\n\n#### Web App \u0026 Desktop App\n\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eLogin\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/OmCBgz9.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eChat Bot\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/tkT1rCJ.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eDashboard\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/AIAOr6K.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eTransactions\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/wXKS0g9.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eMarket\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/DM9ihKJ.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eMarket Chart\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/APBYjro.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eHoldings\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/ZGvxWMU.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eHolding Chart\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/VubM5Mc.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eActivity\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/RdNFOoq.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eSettings\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/3eArPTa.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\n#### Mobile App\n\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eLogin\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/VsmUHvj.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eChat Bot\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/7hhnueb.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eDashboard\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/WtDViL6.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eTransactions\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/MM2zLn6.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eMarket\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/F5SVcx1.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eMarket Chart\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/z6xJM31.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eHoldings\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/1M1G0vq.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eHolding Chart\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/E907TxX.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eActivity\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/TErbjgk.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\t\u003csummary\u003e\u003cb\u003eSettings\u003c/b\u003e\u003c/summary\u003e\n\t\u003cimg src=\"https://i.imgur.com/Bu6ip3s.png\"/\u003e\u003cbr\u003e\n\u003c/details\u003e\n\n### Attributions\n\n#### APIs\n\nCryptocurrency Market Data: CoinGecko\n\nStock Market Data: Yahoo Finance\n\n#### Web App \u0026 Desktop App\n\n| Resource         | URL                                                                             |\n|------------------|---------------------------------------------------------------------------------|\n| Arkhip           | [DaFont Website](https://www.dafont.com/arkhip.font)                            |\n| Background       | [Website](https://bgjar.com/)                                                   |\n| Chart.js         | [Website](https://chartjs.org)                                                  |\n| CryptoJS         | [Website](https://cryptojs.gitbook.io/docs/)                                    |\n| Electron         | [Website](https://electronjs.org)                                               |\n| Flatpickr        | [Website](https://flatpickr.js.org/)                                            |\n| Fingerprint Icon | [SVG Repo Website](https://www.svgrepo.com/svg/5105/fingerprint)                |\n| Font Awesome     | [Website](https://fontawesome.com/)                                             |\n| Forge            | [GitHub](https://github.com/digitalbazaar/forge)                                |\n| Inter            | [Website](https://rsms.me/inter/)                                               |\n| JQuery           | [Website](https://jquery.com)                                                   |\n| Popper           | [Website](https://popper.js.org/)                                               |\n| Pop Sound        | [FreeSound Website](https://freesound.org/people/InspectorJ/sounds/411639/)     |\n| QR Code Styling  | [Website](https://qr-code-styling.com/)                                         |\n| SHA256           | [GitHub](https://github.com/emn178/js-sha256)                                   |\n| Socket.IO        | [Website](https://socket.io)                                                    |\n| Switch Sound     | [FreeSound Website](https://freesound.org/people/patchytherat/sounds/531391/)   |\n| Tippy.js         | [Website](https://atomiks.github.io/tippyjs/)                                   |\n\n#### Mobile App\n\n##### Dependencies\n\n| Resource                                           | URL                                                                                 |\n|----------------------------------------------------|-------------------------------------------------------------------------------------|\n| @eliav2/react-native-collapsible-view              | [NPM](https://npmjs.com/package/@eliav2/react-native-collapsible-view)              |\n| @react-native-async-storage/async-storage          | [NPM](https://npmjs.com/package/@react-native-async-storage/async-storage)          |\n| @react-native-clipboard/clipboard                  | [NPM](https://npmjs.com/package/@react-native-clipboard/clipboard)                  |\n| @react-native-community/art                        | [NPM](https://npmjs.com/package/@react-native-community/art)                        |\n| @react-native-community/blur                       | [NPM](https://npmjs.com/package/@react-native-community/blur)                       |\n| @react-native-community/masked-view                | [NPM](https://npmjs.com/package/@react-native-community/masked-view)                |\n| @react-native-firebase/app                         | [NPM](https://npmjs.com/package/@react-native-firebase/app)                         |\n| @react-native-firebase/messaging                   | [NPM](https://npmjs.com/package/@react-native-firebase/messaging)                   |\n| @react-native-picker/picker                        | [NPM](https://npmjs.com/package/@react-native-picker/picker)                        |\n| @react-navigation/native                           | [NPM](https://npmjs.com/package/@react-navigation/native)                           |\n| @react-navigation/native-stack                     | [NPM](https://npmjs.com/package/@react-navigation/native-stack)                     |\n| @react-navigation/stack                            | [NPM](https://npmjs.com/package/@react-navigation/stack)                            |\n| @reduxjs/toolkit                                   | [NPM](https://npmjs.com/package/@reduxjs/toolkit)                                   |\n| atob                                               | [NPM](https://npmjs.com/package/atob)                                               |\n| btoa                                               | [NPM](https://npmjs.com/package/btoa)                                               |\n| metro-config                                       | [NPM](https://npmjs.com/package/metro-config)                                       |\n| moment                                             | [NPM](https://npmjs.com/package/moment)                                             |\n| react                                              | [NPM](https://npmjs.com/package/react)                                              |\n| react-content-loader                               | [NPM](https://npmjs.com/package/react-content-loader)                               |\n| react-dom                                          | [NPM](https://npmjs.com/package/react-dom)                                          |\n| react-native                                       | [NPM](https://npmjs.com/package/react-native)                                       |\n| react-native-aes-crypto                            | [NPM](https://npmjs.com/package/react-native-aes-crypto)                            |\n| react-native-background-actions                    | [NPM](https://npmjs.com/package/react-native-background-actions)                    |\n| react-native-bubble-tabbar                         | [NPM](https://npmjs.com/package/react-native-bubble-tabbar)                         |\n| react-native-camera                                | [NPM](https://npmjs.com/package/react-native-camera)                                |\n| react-native-chart-kit                             | [NPM](https://npmjs.com/package/react-native-chart-kit)                             |\n| react-native-crypto-js                             | [NPM](https://npmjs.com/package/react-native-crypto-js)                             |\n| react-native-device-info                           | [NPM](https://npmjs.com/package/react-native-device-info)                           |\n| react-native-document-picker                       | [NPM](https://npmjs.com/package/react-native-document-picker)                       |\n| react-native-fast-image                            | [NPM](https://npmjs.com/package/react-native-fast-image)                            |\n| react-native-flash-message                         | [NPM](https://npmjs.com/package/react-native-flash-message)                         |\n| react-native-fs                                    | [NPM](https://npmjs.com/package/react-native-fs)                                    |\n| react-native-fusioncharts                          | [NPM](https://npmjs.com/package/react-native-fusioncharts)                          |\n| react-native-gesture-handler                       | [NPM](https://npmjs.com/package/react-native-gesture-handler)                       |\n| react-native-hold-menu                             | [NPM](https://npmjs.com/package/react-native-hold-menu)                             |\n| react-native-image-blur-shadow                     | [NPM](https://npmjs.com/package/react-native-image-blur-shadow)                     |\n| react-native-keyboard-aware-scroll-view            | [NPM](https://npmjs.com/package/react-native-keyboard-aware-scroll-view)            |\n| react-native-linear-gradient                       | [NPM](https://npmjs.com/package/react-native-linear-gradient)                       |\n| react-native-modal                                 | [NPM](https://npmjs.com/package/react-native-modal)                                 |\n| react-native-modals                                | [NPM](https://npmjs.com/package/react-native-modals)                                |\n| react-native-modern-datepicker                     | [NPM](https://npmjs.com/package/react-native-modern-datepicker)                     |\n| react-native-navigation-bar-color                  | [NPM](https://npmjs.com/package/react-native-navigation-bar-color)                  |\n| react-native-permissions                           | [NPM](https://npmjs.com/package/react-native-permissions)                           |\n| react-native-pie                                   | [NPM](https://npmjs.com/package/react-native-pie)                                   |\n| react-native-qrcode-scanner                        | [NPM](https://npmjs.com/package/react-native-qrcode-scanner)                        |\n| react-native-reanimated                            | [NPM](https://npmjs.com/package/react-native-reanimated)                            |\n| react-native-render-html                           | [NPM](https://npmjs.com/package/react-native-render-html)                           |\n| react-native-restart                               | [NPM](https://npmjs.com/package/react-native-restart)                               |\n| react-native-rsa-native                            | [NPM](https://npmjs.com/package/react-native-rsa-native)                            |\n| react-native-safe-area-context                     | [NPM](https://npmjs.com/package/react-native-safe-area-context)                     |\n| react-native-screens                               | [NPM](https://npmjs.com/package/react-native-screens)                               |\n| react-native-sha256                                | [NPM](https://npmjs.com/package/react-native-sha256)                                |\n| react-native-sound                                 | [NPM](https://npmjs.com/package/react-native-sound)                                 |\n| react-native-svg                                   | [NPM](https://npmjs.com/package/react-native-svg)                                   |\n| react-native-svg-animations                        | [NPM](https://npmjs.com/package/react-native-svg-animations)                        |\n| react-native-table-component                       | [NPM](https://npmjs.com/package/react-native-table-component)                       |\n| react-native-toggle-element                        | [NPM](https://npmjs.com/package/react-native-toggle-element)                        |\n| react-native-transparent-status-and-navigation-bar | [NPM](https://npmjs.com/package/react-native-transparent-status-and-navigation-bar) |\n| react-native-unimodules                            | [NPM](https://npmjs.com/package/react-native-unimodules)                            |\n| react-native-vector-icons                          | [NPM](https://npmjs.com/package/react-native-vector-icons)                          |\n| react-native-web                                   | [NPM](https://npmjs.com/package/react-native-web)                                   |\n| react-redux                                        | [NPM](https://npmjs.com/package/react-redux)                                        |\n| socket.io-client                                   | [NPM](https://npmjs.com/package/socket.io-client)                                   |\n\n##### Dev Dependencies\n\n| Resource                              | URL                                                                            |\n|---------------------------------------|--------------------------------------------------------------------------------|\n| @babel/core                           | [NPM](https://npmjs.com/package/@babel/core)                                   |\n| @babel/runtime                        | [NPM](https://npmjs.com/package/@babel/runtime)                                |\n| @react-native-community/eslint-config | [NPM](https://npmjs.com/package/@react-native-community/eslint-config)         |\n| @types/jest                           | [NPM](https://npmjs.com/package/@types/jest)                                   |\n| @types/react                          | [NPM](https://npmjs.com/package/@types/react)                                  |\n| @types/react-native                   | [NPM](https://npmjs.com/package/@types/react-native)                           |\n| @types/react-redux                    | [NPM](https://npmjs.com/package/@types/react-redux)                            |\n| @types/react-test-renderer            | [NPM](https://npmjs.com/package/@types/react-test-renderer)                    |\n| babel-jest                            | [NPM](https://npmjs.com/package/babel-jest)                                    |\n| eslint                                | [NPM](https://npmjs.com/package/eslint)                                        |\n| jest                                  | [NPM](https://npmjs.com/package/jest)                                          |\n| metro-react-native-babel-preset       | [NPM](https://npmjs.com/package/metro-react-native-babel-preset)               |\n| patch-package                         | [NPM](https://npmjs.com/package/patch-package)                                 |\n| postinstall-postinstall               | [NPM](https://npmjs.com/package/postinstall-postinstall)                       |\n| react-test-renderer                   | [NPM](https://npmjs.com/package/react-test-renderer)                           |\n| typescript                            | [NPM](https://npmjs.com/package/typescript)                                    |","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxtrendence%2Fcryptoshare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxtrendence%2Fcryptoshare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxtrendence%2Fcryptoshare/lists"}