{"id":13533364,"url":"https://github.com/hello-nyxo/nyxo-app","last_synced_at":"2025-04-01T21:32:20.430Z","repository":{"id":38292070,"uuid":"289249276","full_name":"hello-nyxo/nyxo-app","owner":"hello-nyxo","description":"The repository for Nyxo React Native app, a personal sleep tracker and sleep coach","archived":false,"fork":false,"pushed_at":"2023-01-27T03:11:32.000Z","size":13049,"stargazers_count":288,"open_issues_count":29,"forks_count":60,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-02T20:33:06.916Z","etag":null,"topics":["aws-amplify","hacktoberfest","react","react-native","redux","sleep","sleep-coaching","sleep-tracker"],"latest_commit_sha":null,"homepage":"https://nyxo.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hello-nyxo.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":"2020-08-21T11:07:33.000Z","updated_at":"2024-10-01T07:24:54.000Z","dependencies_parsed_at":"2023-01-27T19:31:01.400Z","dependency_job_id":null,"html_url":"https://github.com/hello-nyxo/nyxo-app","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hello-nyxo%2Fnyxo-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hello-nyxo%2Fnyxo-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hello-nyxo%2Fnyxo-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hello-nyxo%2Fnyxo-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hello-nyxo","download_url":"https://codeload.github.com/hello-nyxo/nyxo-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246713363,"owners_count":20821876,"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":["aws-amplify","hacktoberfest","react","react-native","redux","sleep","sleep-coaching","sleep-tracker"],"created_at":"2024-08-01T07:01:19.106Z","updated_at":"2025-04-01T21:32:15.419Z","avatar_url":"https://github.com/hello-nyxo.png","language":"TypeScript","funding_links":[],"categories":["Example Projects","TypeScript","Open Source Apps","Javascript"],"sub_categories":["Other blogs \u0026 tutorials","Other Platforms","AWS Amplify"],"readme":"![Nyxo App](https://github.com/hello-nyxo/nyxo-website/blob/master/static/images/cover.png)\n\n\u003cp align=\"center\"\u003e\n\u003ch1 align=center\u003eNyxo App – Better Sleep 💤💤💤\u003c/h1\u003e\n\u003c/p\u003e\n\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)\n![commit activity](https://img.shields.io/github/commit-activity/w/hello-nyxo/nyxo-app)\n![release](https://img.shields.io/github/v/release/hello-nyxo/nyxo-app)\n![license](https://img.shields.io/github/license/hello-nyxo/nyxo-app)\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://apps.apple.com/us/app/nyxo-sleep-coaching/id1440417031\"\u003eDownload iOS\u003c/a\u003e • \u003ca href=\"https://play.google.com/store/apps/details?id=fi.nyxo.app\"\u003eDownload Android\u003c/a\u003e • \u003ca href=\"mailto:hello+github@nyxo.fi\"\u003eContact\u003c/a\u003e • \u003ca href=\"http://eepurl.com/g-0zKD\"\u003eNyxo Newsletter\u003c/a\u003e\n\u003cbr\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n- [Public beta for iOS](https://testflight.apple.com/join/jhNZ8CC7)\n- [Public beta for Android](https://play.google.com/apps/testing/fi.nyxo.app)\n\n\n## What is Nyxo App\n\nNyxo is a mobile application for improving your sleep. Its built with React Native, AWS Amplify, styled-components, and Redux. Nyxo provides the following features:\n\n- Sleep tracking, with support for multiple different trackers\n  - Google Fit\n  - Apple Health\n  - Oura\n  - Withings\n  - Fitbit\n  - Polar\n- Sleep trends and sleep diary\n- Nyxo Cloud: backup your sleep data and coaching progress, and access it from [nyxo.app](https://nyxo.app)\n- 4 week sleep coaching program\n- Ask experts, if you have any questions we have the professional sleep coaches to help\n- And more\n\nThe plan is to develop Nyxo further and allow contributions from everyone. If you want to for example build a new sleep visualization or add support for new sleep tracker, we will gladly welcome a pull request of that :)\n\n## Can I help?\n\nAlways!\n\nIf you like the app, go give it 5 stars and a review! It helps more people find the app, and makes the developer very happy 😊\n\nIf you know a language other than English, help us translate the app!\n\n## Getting started\n\nStart by cloning repository and installing dependencies using yarn\n\n```shell\ngit clone\ncd nyxo-app\nyarn\n```\n\n**Link assets**\n\n```shell\nreact-native link\n```\n\nFor iOS, install Cocoapods and run command\n\n```shell\ncd ios \u0026\u0026 pod install\n```\n\n### Setting up the environment and services\n\n**App Center**\nSet up Microsoft's Visual Studio App Center for event analytics \u0026 crash reports: https://docs.microsoft.com/en-us/appcenter/sdk/getting-started/react-native\n\n**Sentry**\nSet up Sentry for React Native by executing the command. More Sentry-related information can be found at: https://docs.sentry.io/platforms/react-native/\n\n```shell\nsentry-wizard\n```\n\n#### AWS-amplify\n\nWe use aws-amplify for our api and authentication. We will most likely simplify the process of setting up Amplify in fresh project at some point. At the moment the worfklow for getting everything to run is following:\n\n- Get AWS account\n- See the instructions for installing amplify-cli\n- Do the following setup\n\n### Setting up enviroment variables\n\nNyxo configurations keys are placed in config.ts file, which then references the requirement enviroment variables from local `.env`file. Head to `docs/env-structure.md` file to learn more. The way the project is structured you should need to provide keys for all the services to make the app work.\n\n```\n//.env contents\nREVENUE_CAT=YOUR_KEY\nSENTRY_DSN=YOUR_KEY\nCONTENTFUL_SPACE=YOUR_KEY\nCONTENTFUL_ACCESS_TOKEN=YOUR_KEY\nFITBIT_ID=YOUR_KEY\nFITBIT_TOKEN_ENDPOINT=YOUR_KEY\nFITBIT_REVOCATION_ENDPOINT=YOUR_KEY\nWITHINGS_ID=YOUR_KEY\nWITHINGS_TOKEN_ENDPOINT=YOUR_KEY\nWITHINGS_REVOCATION_ENDPOINT=YOUR_KEY\nOURA_ID=YOUR_KEY\nOURA_TOKEN_ENDPOINT=YOUR_KEY\nGOOGLE_FIT_URL_ANDROID=YOUR_KEY\nGOOGLE_FIT_ID_ANDROID=YOUR_KEY\nGOOGLE_FIT_ID_IOS=YOUR_KEY\nGOOGLE_FIT_ID_IOS=YOUR_KEY\nGARMIN_ID=YOUR_KEY\nGARMIN_REQUEST_TOKEN_ENDPOINT=YOUR_KEY\nGARMIN_ACCESS_TOKEN_ENDPOINT=YOUR_KEY\nGARMIN_GET_SLEEP_ENDPOINT=YOUR_KEY\nPOLAR_ID=YOUR_KEY\nPOLAR_TOKEN_ENDPOINT=YOUR_KEY\nLINK_CODE_URL=YOUR_KEY\n```\n\nAfter creating the .env file, run `yarn rnuc .env` to generate variable files.\n\n## Troubleshooting\n\n#### main.jsbundle missing\n\nRun command `react-native bundle --entry-file index.js --platform ios --dev=false --bundle-output ios/main.jsbundle --assets-dest ios` for iOS\nRun command `react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/` for Android\n\n## When you get a weird Xcode error about undefined symbols\n\nIf you see something like this:\n\n`Undefined symbols for architecture x86_64: \"_OBJC_CLASS_$_RCTReconnectingWebSocket\", referenced from: objc-class-ref in libReact.a(RCTPackagerConnection.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)`\n\nDelete your Derived data\n\n## If you run into an Xcode build input file error\n\nIf you see a build error like this:\n\n`error: Build input file cannot be found: '/...path/Nyxo.app/PlugIns/NyxoTests.xctest/NyxoTests' (in target 'NyxoTests' from project 'Nyxo')`\n\nSwitch your XCode Build System to `Legacy Build System`\n\n## Resetting bundlers etc.\n\n1. Clear watchman watches: `watchman watch-del-all`.\n2. Delete the `node_modules` folder: `rm -rf node_modules \u0026\u0026 npm install`.\n3. Reset Metro Bundler cache: `rm -rf /tmp/metro-bundler-cache-*` or `npm start -- --reset-cache`.\n4. Remove haste cache: `rm -rf /tmp/haste-map-react-native-packager-*`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhello-nyxo%2Fnyxo-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhello-nyxo%2Fnyxo-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhello-nyxo%2Fnyxo-app/lists"}