christian-heusel / explorer-app Goto Github PK
View Code? Open in Web Editor NEWApp (Flutter), Schnitstelle (GraphQL) und Backend (Go + PostgreSQL) für die Auswertungsapp beim Explorer 2021.
License: GNU General Public License v3.0
App (Flutter), Schnitstelle (GraphQL) und Backend (Go + PostgreSQL) für die Auswertungsapp beim Explorer 2021.
License: GNU General Public License v3.0
W/FlutterActivityAndFragmentDelegate(27310): A splash screen was provided to Flutter, but this is deprecated. See flutter.dev/go/android-splash-migration for migration steps.
Do the Full-Flutter app migration
https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects
At the beginning all Apps should fetch the stations from the server (without authentication / identification )
currently the deployment on my server https://christian.heusel.eu is set up manually, this should be changed to further test the ansible role.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Warning
──────────────────────────────────────────────────────────────────────────────
Your Flutter application is created using an older version of the Android
embedding. It is being deprecated in favor of Android embedding v2. Follow the
steps at
https://flutter.dev/go/android-project-migration
to migrate your project. You may also pass the --ignore-deprecation flag to
ignore this check and continue with the deprecated v1 embedding. However,
the v1 Android embedding will be removed in future versions of Flutter.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The detected reason was:
/home/chris/Documents/shared_projects/explorer-app/fluttr_app/explorer_app/android/app/src/main/AndroidManifest.xml uses
`android:name="io.flutter.app.FlutterApplication"`
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Build failed due to use of deprecated Android v1 embedding.
If one builds an APK using flutter and installs it:
flutter apk build
Our first simple query does not work anymore, this could be due to missing assets or something else but has to be investigated.
for our distributed backend we need to deliver the stations.csv / teams.csv via ansible
Currently we just dump the input of the mutation into the db but some sanity checking is needed so errors in the frontend are detected!
explorer-app/server/graph/mutations.resolvers.go
Lines 26 to 50 in 65ad1ce
Similar to the Text input we need a page for number input. It should be possible to Type numbers and ',' or '.'
Unclear whether we really need this, maybe this can be removed later and replaced by using the generated code.
Originally posted by @christian-heusel in #43 (comment)
We should add some kind of "real" authentication so we do not have to handle all the teams manually, for example using HTTP-basicAuth.
Popular solutions involve the usage of JWT-Tokens (https://jwt.io/).
Since our backend is written in go we can use for example these packages:
https://github.com/dgrijalva/jwt-go
https://github.com/appleboy/gin-jwt
https://pub.dev/packages/global_configuration
assets/config/config.json
.gitignore
assets/config/config.json.example
allow for more
Currently the backend tries to initialize itself and the database everytime a new container is created.
This should be changed by adding an env var
Currently the records are selected using fixed indexes, which is very error prune:
Lines 35 to 44 in c2884be
Sth like this
if ! os.Getenv("PRODUCTION") == "1" {
return db.LogMode(true)
}
return db
implement function to submit answers
This vhost also has to be set up for local dns i.e. explorer.local
Originally posted by @christian-heusel in #20 (comment)
We need Page were the Groups put in their credentials. This value must be saved and later used for identification when the data is submitted.
When playing around with the examples in the GraphQL-Playground it always takes some time to get the examples again.
These should be included somewhere 😊
For every manned station on the explorer there should be one possibility to sync up the current entries in the app.
Maybe this can be done using some Raspberry Pi's and a router?
The configuration of these should be uniform, preferably using a configuration tool like ansible-playbooks
.
Since we also have to store the information from the quiz offline we should investigate some possibilities to have a "local" database in the app.
Maybe we can also used the types generated by artemis here 👍
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.