Code Monkey home page Code Monkey logo

indico-checkin's Introduction

Warning

This application will be discontinued with the upcoming release of Indico 3.3 (Q1 2024) and replaced with a new Checkin-in app. We recommend everyone to use the new application starting with Indico 3.3.

Indico check in mobile application

This application was initially developed during the CERN OpenLab Summer Student Programme. An early description of the project (for historical purposes) can be found here.

Build

We leverage Apache Cordova's multi-platform capabilities to create a simple yet useful web application. First of all, you'll have to install Cordova (note: npm v7 or greater required):

$ npm install -g cordova

For Android development

You'll need to have the Android SDK Tools installed. Android Studio may also be of help if you intend to use an emulator instead of a physical phone.

Please note that the ANDROID_HOME environment variable needs to be properly set, otherwise Cordova won't be able to find the SDK.

$ cordova platform add android

Note: You need to have Android build tools 29.0.2 installed and not have installed any version greater than 29.0.2. Due to a bug in cordova-android < 10.0, which this project uses, it's not possible to specify the build tools version with --gradleArg=-PcdvBuildToolsVersion=29.0.2. Because of this, it will always try to use the latest installed and fail with Build-tool is missing DX if they are greater than 29.0.2.

If you intend to use the emulator you may need to create an AVD if you don't yet have one. If you want to use a physical device, just make sure you connect it via USB.

Regardless of what you choose, you'll only need to run:

$ cordova run android

iOS Development

You will need to have XCode installed. You will also need to install ios-deploy:

$ npm install -g ios-deploy

Similarly to what happens with Android, you may choose to use an emulator or actual phone.

$ cordova run ios

You may be required to associate the XCode project with a development team.

indico-checkin's People

Contributors

albertvaka avatar arescope avatar bkolobara avatar bpedersen2 avatar davidandreev avatar dependabot[bot] avatar driehle avatar javfg avatar nop33 avatar pferreir avatar tomasr8 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

indico-checkin's Issues

Make permission errors clearer

Right now, 403 errors are not reported properly. E.g. when the app user has no management rights for an event and attempts to check in a registrant by scanning his QR.

photo_2021-11-09_15-09-05

Attendees list unsorted

In the Attendees view the attendees aren't sorted alphabetically making you have to scroll through them reading every name to find them

I think a default sorting order of alphabetical by Full Name, would make the most sense. In the future it would be good to let the user choose between First and Surnames for the sort order

Make phone number "clickable"

User suggestion. This would be super useful since the application is running on a phone. A link using the tel: scheme should be enough.

Feature request: Alphabetical sorting of attendees

Hello,
We had our first event with the indico website and the check in app. It turned out that for an easier use of the app one feature would be important: The participants should be sorted alphabetically and / or a search function should be included.

It would be great if that would be possible in the future.

Show all custom registration fields

We have a "T-Shirt" field in the registration. We'd like to be able to see this when checking someone in. It does not appear there is a way to do this in the Indico check-in app.

Would be great to show all the fields, or a configurable set.

Error on iOS app

When using the indico-checkin iOS app with our local Indico instance, the app produces an error on all actions:

image

The Android version of the app works fine with the same backend Indico instance.

Improve oauth security

  • Use the code+PCKE flow instead of implicit flow to get the token (depends on MrSwitch/hello.js#633)
  • Stop sending the access token via query string but as a header instead

Unless Indico 3.0 is released by the time we release this, we need to keep support for the old implicit flow (and confirm whether 2.3 supports the access token in a header) and only use the new one if the server is running on indico v3.

If we manage to improve this before the indico v3 release (and publish to both the iOS and Android app stores), the "Support implicit grant for the checkin app" commit in Indico should be be reverted as it won't be needed anymore.

Users from all registration forms are combined in single attendees list per event

The checkin app (only tested on android but probably uses the same code for ios) doesn't handle properly an event having more than 1 registration form as in the Attendees view it just combines them all together in one long list

The Events view should list the event & all its forms (with the form name) to give you the option to select which you want to deal with check-ins for, then the Attendees view would only those registered for that form

A nice to have improvement would be to have it only show the forms that have Tickets enabled for them

Current version of the views:

Screenshot_20220916-091724_Indico check-in
Screenshot_20220916-091638_Indico check-in
Screenshot_20220916-091853_Indico check-in

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.