Having the client using the Firebase library wouldn't make application scalable enough as the number of concurrent access from different location is limited
When user tries to save a new laptime that is worse than a previously saved one, the following message is given: "An error occured while saving data. Please retry". It should instead report something more useful
Add a link to the firebase.rules.json in firebase.json, adding the following code "database": { "rules": "database.rules.bolt" },
in the root of the JSON object
Whenever the SSR function is triggered, the following error is thrown:
ERROR { Error: Uncaught (in promise): Error: StaticInjectorError(AppServerModule)[FirebaseuiAngularLibraryComponent -> AngularFireAuth]:
StaticInjectorError(Platform: core)[FirebaseuiAngularLibraryComponent -> AngularFireAuth]:
NullInjectorError: No provider for AngularFireAuth!
Error: StaticInjectorError(AppServerModule)[FirebaseuiAngularLibraryComponent -> AngularFireAuth]:
StaticInjectorError(Platform: core)[FirebaseuiAngularLibraryComponent -> AngularFireAuth]:
NullInjectorError: No provider for AngularFireAuth!
at NullInjector.get (/srv/dist/server.js:34394:19)
at resolveToken (/srv/dist/server.js:34639:24)
at tryResolveToken (/srv/dist/server.js:34583:16)
at StaticInjector.get (/srv/dist/server.js:34480:20)
at resolveToken (/srv/dist/server.js:34639:24)
at tryResolveToken (/srv/dist/server.js:34583:16)
at StaticInjector.get (/srv/dist/server.js:34480:20)
at resolveNgModuleDep (/srv/dist/server.js:50950:29)
at _createClass (/srv/dist/server.js:50999:29)
at _createProviderInstance (/srv/dist/server.js:50967:26)
at resolvePromise (/srv/dist/server.js:29329:31)
at resolvePromise (/srv/dist/server.js:29286:17)
at /srv/dist/server.js:29388:17
at ZoneDelegate.invokeTask (/srv/dist/server.js:28936:31)
at Object.onInvokeTask (/srv/dist/server.js:47313:33)
at ZoneDelegate.invokeTask (/srv/dist/server.js:28935:36)
at Zone.runTask (/srv/dist/server.js:28703:47)
at drainMicroTaskQueue (/srv/dist/server.js:29110:35)
at ZoneTask.invokeTask (/srv/dist/server.js:29015:21)
at ZoneTask.invoke (/srv/dist/server.js:29000:48)
App functionality is not affected, but it's not "clean"
As is now, debugging is very hard on mobile if an error occurs when saving a new LapTime.
Add some more logging (using the logging service) to make it easier