{"id":13580929,"url":"https://github.com/anihalaney/rwa-trivia","last_synced_at":"2025-04-05T05:05:21.443Z","repository":{"id":218427316,"uuid":"79659705","full_name":"anihalaney/rwa-trivia","owner":"anihalaney","description":"Trivia App - Real World Angular series","archived":false,"fork":false,"pushed_at":"2024-09-11T11:55:13.000Z","size":107818,"stargazers_count":252,"open_issues_count":8,"forks_count":116,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-03-29T04:05:45.779Z","etag":null,"topics":["angular","angular-2","angular-cli","angular-material","angular-universal","cloud-function-for-firebase","cloudstorage","elasticsearch","firebase","firestore","firestore-database","googlecloudplatform","material-design","nativescript","nativescript-angular","ngrx","redux"],"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/anihalaney.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":"2017-01-21T17:06:37.000Z","updated_at":"2025-03-12T08:33:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"b9327fe6-0c4f-48fa-aac0-0f937c91d32e","html_url":"https://github.com/anihalaney/rwa-trivia","commit_stats":{"total_commits":4465,"total_committers":28,"mean_commits":"159.46428571428572","dds":0.7681970884658454,"last_synced_commit":"6e99fb2b51c14ea4cd8eb99b1d1213a386fcfef4"},"previous_names":["anihalaney/rwa-trivia"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anihalaney%2Frwa-trivia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anihalaney%2Frwa-trivia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anihalaney%2Frwa-trivia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anihalaney%2Frwa-trivia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anihalaney","download_url":"https://codeload.github.com/anihalaney/rwa-trivia/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289426,"owners_count":20914464,"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":["angular","angular-2","angular-cli","angular-material","angular-universal","cloud-function-for-firebase","cloudstorage","elasticsearch","firebase","firestore","firestore-database","googlecloudplatform","material-design","nativescript","nativescript-angular","ngrx","redux"],"created_at":"2024-08-01T15:01:56.468Z","updated_at":"2025-04-05T05:05:21.416Z","avatar_url":"https://github.com/anihalaney.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# rwa-trivia app\n\nSee it in action:\n* On the web - https://bitwiser.io\n* App Store - https://itunes.apple.com/us/app/bitwiser-trivia/id1447244501?mt=8\n* Google Play - https://play.google.com/store/apps/details?id=io.bitwiser.trivia\n\nThis is part of building a new app for my series - Real World Angular @ https://blog.realworldfullstack.io/\n\n[Part 0: From zero to cli-ng](https://blog.realworldfullstack.io/real-world-angular-part-0-from-zero-to-cli-ng-a2ff646b90cc)\n\n[Part 1: Not another todo list app](https://blog.realworldfullstack.io/real-world-angular-part-1-not-another-todo-list-c2ea5020f944)\n\n[Part 2: It's a Material world](https://blog.realworldfullstack.io/real-world-angular-part-2-its-a-material-world-2d70238ef8ef)\n\n[Part 3: Form Formation](https://blog.realworldfullstack.io/real-world-angular-part-3-form-formation-f78d8462da70)\n\n[Part 4: State of my SPA](https://blog.realworldfullstack.io/real-world-angular-part-4-state-of-my-spa-10bf90c5a15)\n\n[Part 5: Light my fire](https://blog.realworldfullstack.io/real-world-angular-part-5-light-my-fire-34b0bcb351a8)\n\n[Part 6: 3Rs ... Rules, Roles \u0026 Routes](https://blog.realworldfullstack.io/real-world-angular-part-6-3rs-rules-roles-routes-9e7de5a3ea8e)\n\n[Part 6.1: Upgrading to 4.0.0-rc.2](https://blog.realworldfullstack.io/real-world-angular-part-6-1-upgrading-to-4-0-0-rc-2-fcaab81603fa)\n\n[Part 7: Split my lazy loaded code](https://blog.realworldfullstack.io/real-world-angular-part-7-lazy-coding-load-splitting-4552f5f54ef7)\n\n[Part 8: Just Ahead of In Time](https://blog.realworldfullstack.io/real-world-angular-part-8-just-ahead-of-in-time-ae2d3cc89656)\n\n[Part 9: Unit Testing](https://blog.realworldfullstack.io/real-world-angular-part-9-unit-testing-c62ba20b1d93)\n\n[Part 9.1: More Unit Testing](https://blog.realworldfullstack.io/real-world-angular-part-9-1-more-unit-testing-f0545ece586d)\n\n[Part 9.2: Even More Unit Tests](https://blog.realworldfullstack.io/real-world-angular-part-9-2-even-more-unit-tests-f903df40530a)\n\n[Part 10: Angular 4 upgrade](https://blog.realworldfullstack.io/real-world-angular-part-x-fantastic-4-c714b04640ab)\n\n[Part 11: Gameplay with Angular](https://blog.realworldfullstack.io/real-world-app-part-11-gameplay-with-angular-2a660fad52c2)\n\n[Part 12: Cloud Functions for Firebase](https://blog.realworldfullstack.io/real-world-app-part-12-cloud-functions-for-firebase-8359787e26f3)\n\n[Part 13: Elasticsearch on Google Cloud with Firebase functions](https://blog.realworldfullstack.io/real-world-app-part-13-elasticsearch-on-google-cloud-with-firebase-functions-8a24fa2b95ed)\n\n[Part 14: Faceted search with Elasticsearch and Angular Material data-table](https://blog.realworldfullstack.io/real-world-app-part-14-faceted-search-with-elasticsearch-and-angular-material-data-table-d90ebaf2ee4b)\n\n[Part 15: Incorporate Material UI design into the app](https://blog.realworldfullstack.io/real-world-app-part-15-ui-design-with-angular-material-1a5c597c679e)\n\n[Part 16: Migrating from Firebase to Firestore](https://blog.realworldfullstack.io/real-world-app-part-16-from-firebase-to-firestore-f6c494e80237)\n\n[Part 17: Bulk upload and User profile settings using firebase cloud storage](https://blog.realworldfullstack.io/real-world-app-part-17-cloud-storage-with-firebase-and-angular-d3d2c9f5f27c)\n\n[Part 18: Revisiting ngrx - Splitting store into feature modules, using action classes, selectors \u0026 router-store](https://blog.realworldfullstack.io/real-world-app-part-18-revisiting-ngrx-e20feed6312c)\n\n[Part 19: Ready Player Two - Two player game play, computing stats, dashboard and other features](https://blog.realworldfullstack.io/real-world-app-part-19-ready-player-two-9e17c2e7c694)\n\n[Part 20: Angular, ngrx \u0026 cli version 6 - Upgrading Angular, cli, ngrx, material \u0026 RxJS to version 6](https://blog.realworldfullstack.io/real-world-app-part-20-angular-ngrx-cli-version-6-a3490b64f0c7)\n\n[Part 21: Service Workers (Progressive Web App) with Angular](https://blog.realworldfullstack.io/real-world-app-part-21-service-workers-pwa-with-angular-3ba5c7168f3f)\n\n[Part 22: Angular Testing with Protractor, Jasmine and Jest](https://blog.realworldfullstack.io/real-world-app-part-22-angular-testing-with-protractor-jasmine-and-jest-6a0e03a89038)\n\n[Part 23: Server side rendering with Angular universal](https://blog.realworldfullstack.io/real-world-app-part-23-ssr-with-angular-universal-637ec8490c44)\n\n[Part 24: Angular workspace](https://blog.realworldfullstack.io/real-world-app-part-24-angular-workspace-69345d32e00e)\n\n[Part 25-a: NativeScript, Angular and Firebase](https://blog.realworldfullstack.io/real-world-app-part-25-a-nativescript-and-angular-e9ff4b102e9b)\n\n## Quick Installation Instructions\n\n* Install cli globally (version should match the one in package.json)\n\n`npm install -g @angular/cli@1.0.0`\n\n* Install npm packages\n\n`npm install`\n\n* Setup your firebase instance @ https://firebase.google.com/\n\n* Setup providers in Firebase Authentication\n\n* Use the firebase configuration information and plug it in src/environment.ts\n\n* Import src/db.json to your firebase database instance to get the initial set of test data\n\n* Run the application using ng serve\n\n`ng serve`\n\n* Add yourself as a user using the application. Ensure you are added as a user in Authentication tab of firebase console.\n\n* Add your user id as an admin in the firebase database (admins need to be added manually) -\n\nSet: users/\\\u003cuser id\\\u003e/roles/admin: true\n\n* Use firebase-rules.json file to setup the firebase rules for your database\n\n* Serve the application again. Ensure you have admin privileges\n\n`ng serve`\n\n## Deploy to Firebase Server\n\n* Install firebase tools globally\n\n`npm install -g firebase-tools`\n\n* Authenticate with your firebase credentials\n\n`firebase login`\n\n* Setup firebase hosting configuration for the application, using \"dist\" instead of public as the public folder name\n\n`firebase init`\n\n* Create a build\n\n`ng build`\n\n* Serve up the app using firebase server locally\n\n`firebase serve`\n\n* Deploy Site to firebase\n\n`firebase deploy --only hosting`\n\n* Setup firebase functions - creates functions folder and installs dependencies\n\n`firebase init`\n\n* Deploy functions to firebase\n\n`npm run deploy-functions`\n\n## Testing\n* Test the application using\n\n`ng test`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanihalaney%2Frwa-trivia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanihalaney%2Frwa-trivia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanihalaney%2Frwa-trivia/lists"}