Giter Site home page Giter Site logo

christian-heusel / explorer-app Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 2.04 MB

App (Flutter), Schnitstelle (GraphQL) und Backend (Go + PostgreSQL) für die Auswertungsapp beim Explorer 2021.

License: GNU General Public License v3.0

Go 13.77% Kotlin 0.17% Swift 0.47% Objective-C 0.04% Dart 83.40% Dockerfile 0.30% Jinja 1.84%
flutter golang graphql

explorer-app's People

Contributors

christian-heusel avatar drschwatzer avatar matze1128 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

explorer-app's Issues

migrate android splash screen

W/FlutterActivityAndFragmentDelegate(27310): A splash screen was provided to Flutter, but this is deprecated. See flutter.dev/go/android-splash-migration for migration steps.

Create READMES

  • README for the general project
  • README for the Backend
  • README for the App

Deploy the backend on a Server

  • Create a deploy key 🔑
  • Setup a Webhook on GitHub ↪️
  • Setup a WebHook config on the remote server 🌐
  • Setup the updatescript for the backend
  • Persist the backend running upon reboot

Flutter Android v2 embedding

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
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.

GraphQL Query not working in release mode

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.

Document the different station types and implement sanity checking for answers

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!

func (r *mutationResolver) CreateAnswer(ctx context.Context, stationNumber int, answerTime time.Time, resultOption *int, resultText *string, resultNumber *float64) (*model.Answer, error) {
station := &model.Station{}
findStation := r.DB.First(station, stationNumber)
if findStation.Error != nil {
log.Print("Error while finding a matching station for answer: ", findStation.Error)
return nil, findStation.Error
}
answer := model.Answer{
Station: station,
AnswerTime: answerTime,
SynchronizationTime: time.Now(),
ResultOption: resultOption,
ResultText: resultText,
ResultNumber: resultNumber,
}
result := r.DB.Create(&answer)
if result.Error != nil {
return nil, result.Error
}
return &answer, nil
}

make the csv mapping more robust

Currently the records are selected using fixed indexes, which is very error prune:

func createStationFromSplice(db *gorm.DB, input []string) *gorm.DB {
return db.Create(&model.Station{
ID: getInt(input[0]),
Points: getInt(input[1]),
StationType: getInt(input[2]),
Coordinates: &input[3],
GridSquare: &input[4],
Title: &input[5],
})
}

Provide GraphQL Examples

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 😊

Create Deployment infrastructure for the Backend

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.

Decide on a DB framework

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 👍

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.