Giter Club home page Giter Club logo

nottcs's Introduction

NottCS

This is a student run club project by the Computer Science Society (CSS) of The University of Nottingham Malaysia Campus

Background

There are many processes that clubs and societies in UNMC have to go through that are currently tedious which could be simplified by a lot.

  • Troublesome event sign up

    Firstly, for an event participant, it is and troublesome to sign up for events by looking through email and finding the corresponding event promotional email, and then finding the appropriate event sign up link to sign up. On the other hand, for an event organizer, it is also unreliable to use email to promote an event as the email could easily be missed among many others, and it is tedious to check whether each participant has club membership or not. Worse, when an event requires payment, the event organizer has to check whether the participant has club membership, and then determine the appropriate pricing, and then finally manually update a spreadsheet that contains a list of participants for that event after collecting payment.

  • Hard to update event participants

    Furthermore, it is also troublesome to individually add each participant as a recipient when an event organizer wants to send out updates accordingly through email if there are any changes to the event.

  • Troublesome attendance taking

    Moreover, during an event, when event organisers require recording attendance for s-CPD points or any other reason, it requires them to go through the hassle of borrowing a barcode scanner from the department.

  • Impossible to collect anonymous feedback

    In addition, after an event, it is virtually impossible to collect feedback from participants anonymously without getting rubbish responses from non-participants. Anonymity is important when collecting feedback as it guarantees that the event organisers will never be able to discriminate anyone in future events based on their feedback of previous events.

  • Manual event reminder

    Finally, some participants who are not good at remembering things may forget that they signed up for a particular event, and as such are in need of some automated way to add a calendar entry to remind themselves before the event happens.

Problem Solving

In order to simplify clubs and society processes in the context of UNMC such as event registration, meeting arrangement, event attendance taking for s-CPD, etc., a mobile app that is usable on both iOS and android is to be developed. It has to feature at least the following functions:

  1. One-click event registration after log in
  2. Privilege control within each club (using OWA or otherwise)
  3. Ability for admins of a club to finalise event registration of any individual through unique QR code or bar code from student ID (for events with payments, optional)
  4. Ability for admins to confirm attendance of any event through unique QR code or bar code
  5. Push notification for event updates (only for signed up events)
  6. Secure account database (password hashing with salt)
  7. Account sign up using OWA (manual entry, if wrong then nobody can add you to club…)
  8. Event feedback and satisfaction rating (with an option to remain anonymous)

nottcs's People

Contributors

eaglecheow avatar foong123 avatar jiamingc0824 avatar pohzhiee avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

rizwan3d

nottcs's Issues

Implement REST service

implement REST service,
note that for club and event there is a need to upload image, so a multipart form is needed

Image local cache

Implement local cache for club images, so that there is no need to redownload images every time.
Also do a check against server to check for any changes in club icons if possible.

Couldn't load event.

Error Log

[0:] Newtonsoft.Json.JsonSerializationException: Error converting value "ST" to type 'NottCS.Models.EventStatus'. Path '[0].status', line 7, position 18. ---> System.ArgumentException: Could not cast or convert from System.String to NottCS.Models.EventStatus.
at Newtonsoft.Json.Utilities.ConvertUtils.EnsureTypeAssignable (System.Object value, System.Type initialType, System.Type targetType) [0x00067] in :0
at Newtonsoft.Json.Utilities.ConvertUtils.ConvertOrCast (System.Object initialValue, System.Globalization.CultureInfo culture, System.Type targetType) [0x00036] in :0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType (Newtonsoft.Json.JsonReader reader, System.Object value, System.Globalization.CultureInfo culture, Newtonsoft.Json.Serialization.JsonContract contract, System.Type targetType) [0x000d1] in :0
--- End of inner exception stack trace ---
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType (Newtonsoft.Json.JsonReader reader, System.Object value, System.Globalization.CultureInfo culture, Newtonsoft.Json.Serialization.JsonContract contract, System.Type targetType) [0x00103] in :0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x000dc] in :0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue (Newtonsoft.Json.Serialization.JsonProperty property, Newtonsoft.Json.JsonConverter propertyConverter, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty, Newtonsoft.Json.JsonReader reader, System.Object target) [0x00061] in :0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject (System.Object newObject, Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonObjectContract contract, Newtonsoft.Json.Serialization.JsonProperty member, System.String id) [0x00266] in :0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x00161] in :0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x0006d] in :0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Boolean checkAdditionalContent) [0x000db] in :0
at Newtonsoft.Json.JsonSerializer.DeserializeInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00054] in :0
at Newtonsoft.Json.JsonSerializer.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000] in :0
at Newtonsoft.Json.Linq.JToken.ToObject (System.Type objectType, Newtonsoft.Json.JsonSerializer jsonSerializer) [0x00012] in :0
at Newtonsoft.Json.Linq.JToken.ToObject (System.Type objectType) [0x002ff] in :0
at Newtonsoft.Json.Linq.JToken.ToObject[T] () [0x00000] in :0
at NottCS.Services.REST.RestService+d__91[T].MoveNext () [0x00183] in C:\Users\drago\source\repos\NottCS\NottCS\NottCS\Services\REST\RestService.Requests.cs:105 [0:] Exception thrown in RequestGetAsync, Message: Error converting value "ST" to type 'NottCS.Models.EventStatus'. Path '[0].status', line 7, position 18. [0:] (Error converting value "ST" to type 'NottCS.Models.EventStatus'. Path '[0].status', line 7, position 18., System.Collections.Generic.List1[NottCS.Models.Event])

Do Settings Page

Example of Setting Page. You can do different style from the image below.

General requirements are:

Get Notifications, Data and Storage Usage

settingpage

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.