{"id":22671844,"url":"https://github.com/jesuisstan/diary-companion","last_synced_at":"2026-04-20T05:33:09.701Z","repository":{"id":247845800,"uuid":"827003312","full_name":"jesuisstan/diary-companion","owner":"jesuisstan","description":"react native mobile app to create and store diary notes","archived":false,"fork":false,"pushed_at":"2024-07-24T19:13:11.000Z","size":1615,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-04T11:53:19.654Z","etag":null,"topics":["android","expo","expo-cli","ios","mobile","react","reactnative","typescript","web"],"latest_commit_sha":null,"homepage":"","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/jesuisstan.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-10T20:24:48.000Z","updated_at":"2024-07-25T08:10:42.000Z","dependencies_parsed_at":"2024-07-24T21:55:28.804Z","dependency_job_id":null,"html_url":"https://github.com/jesuisstan/diary-companion","commit_stats":null,"previous_names":["jesuisstan/diary-companion"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesuisstan%2Fdiary-companion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesuisstan%2Fdiary-companion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesuisstan%2Fdiary-companion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesuisstan%2Fdiary-companion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jesuisstan","download_url":"https://codeload.github.com/jesuisstan/diary-companion/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246175655,"owners_count":20735608,"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":["android","expo","expo-cli","ios","mobile","react","reactnative","typescript","web"],"created_at":"2024-12-09T16:16:53.824Z","updated_at":"2026-04-20T05:33:04.675Z","avatar_url":"https://github.com/jesuisstan.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Welcome to the Diary Companion Mobile App 👋\n\nThis is a React Native project created with [Expo](https://expo.dev). The Diary Companion mobile application enables you to create, store, and manage your diary notes in the [Firebase](https://firebase.google.com/) cloud. The app can be built for both Android and iOS platforms.\n\n## Requirements:\n\n- JavaScript. Node version \u003e=20\n- Java Development Kit (JDK). Download from [AdoptOpenJDK](https://adoptium.net/)\n\n## Get Started\n\n1. ### Install dependencies\n\n   ```bash\n   npm install\n   ```\n\n2. ### Set up credentials for the Application\n\nTo set up credentials for your Diary Companion application, follow these steps:\n\nStep 1. **Create a `.env` File**\n\nCreate a `.env` file in the root folder of your project. You can use `.env.example` as a template.\n\nStep 2. **Obtaine keystore for Android**\n\nSHA1 key value will be usef further while setting up Firebase project (step 3).\nFor detailed instructions on obtaining a keystore, refer to the [Obtaining Keystore](#obtaining-keystore) section below.\n\nStep 3. **Set Up Firebase**\n\n- Create a new Firebase project in the [Google Firebase Console](https://console.firebase.google.com/).\n- Obtain `firebaseConfig` from the Firebase Console (Web app) and paste the values into the corresponding variables in your `.env` file.\n- Obtain `google-services.json` from the Firebase Console (Android app) and paste the value of `client_id` (group `\"client_type\": 3`) to `EXPO_PUBLIC_WEB_CLIENT_ID` value in `.env` file.\n\nStep 4. **Add Required Files**\n\n- Copy `google-services.json` and `keystore.jks` (if applicable) to the `[root]/credentials/` folder.\n- Copy `GoogleService-Info.plist` to the `[root]/credentials/` folder.\n- Copy any other necessary credentials to the `[root]/credentials/` folder.\n\n## Build for Production\n\n1. **For Android**\n\n   Run the following command to build the app for production:\n\n   ```bash\n   npm run build:a:c:prod\n   ```\n\n   This command performs the following steps:\n\n   - Runs the secrets script: `npm run secrets`\n   - Builds the app using Expo Application Services (EAS): `npx eas build -p android --profile production`\n\n2. **Download and Install**\n\n   After the build completes, download the APK from the Expo build service, then install it on your mobile phone.\n\n## Build for Development and run\n\nTo run the app in development mode, use the following command:\n\n```bash\n npm run build:a:c:dev\n```\n\nThis command runs the secrets script and builds the app using the development profile.\n\nAfter the build completes, download the APK from the Expo build service, then install it on your mobile phone.\n\nStart the dev mode application:\n\n```bash\n    npm run start:build\n```\n\nIn the output, you'll find options to open the app in a\n\n- [development build](https://docs.expo.dev/develop/development-builds/introduction/)\n- [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/)\n- [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/)\n- [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo\n\nYou can start developing by editing the files inside the **app** directory. This project uses [file-based routing](https://docs.expo.dev/router/introduction).\n\n## Obtaining Keystore\n\n### Using EAS Credentials\n\nFor signing your Android app, you will need a keystore. You can use the eas credentials command to manage your keystore:\n\n#### Run the EAS Credentials Command\n\n```bash\neas credentials\n```\n\n#### Follow the Prompts\n\nFollow the prompts to set up your keystore through the Expo Application Services (EAS) platform.\n\n#### Configure EAS Build\n\nEnsure your eas.json file is configured to use the credentials stored on the EAS platform.\n\n### Generating a Keystore Locally\n\nAlternatively, ollow these steps to generate a keystore locally:\n\n#### Generate a Keystore\n\nUse the following command to generate a new keystore:\n\n```bash\nkeytool -genkey -v -keystore [your_keystore_name].keystore -alias [your_alias_name] -keyalg RSA -keysize 2048 -validity 10000\n```\n\nReplace [your_keystore_name] with your desired keystore filename and [your_alias_name] with your chosen alias name.\n\n#### Store the Keystore\n\nSave the generated keystore.jks file in the [root]/credentials/ folder.\n\n#### Add Keystore Information to eas.json\n\nAdd the keystore information to your eas.json file:\n\n\u003cpre\u003e\n{\n  \"android\": {\n    \"buildType\": \"apk\",\n    \"keystore\": {\n      \"path\": \"./credentials/[your_keystore_name].keystore\",\n      \"keyAlias\": \"[your_alias_name]\"\n    }\n  }\n}\n\u003c/pre\u003e\n\nReplace [your_keystore_name] and [your_alias_name] with the appropriate values.\n\nNow you're ready to build, run, and manage your Diary Companion app on Android and iOS platforms! If you encounter any issues, refer to the Expo and Firebase documentation or seek help from the community. Happy coding!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjesuisstan%2Fdiary-companion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjesuisstan%2Fdiary-companion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjesuisstan%2Fdiary-companion/lists"}