Skip to content
This repository has been archived by the owner on Jul 16, 2019. It is now read-only.
/ WHS-App Public archive

A modular scheduling app for WHS, built with React Native

License

Notifications You must be signed in to change notification settings

Li357/WHS-App

Repository files navigation

WHS

Development has been moved to the WHS monorepo.

A schedule & mod information app for WHS. Created with React Native by Andrew Li. © 2018 Andrew Li, MIT License.

v2

Complete rewrite and redesign with NativeBase. Now with linting and better code. Using multiple deployment targets for CodePush testing and Bugsnag for crashlytics.

TODO

  • Finish integration with server (especially refreshing & schedule cautions)

  • QR Codes to share schedules (branch qr)

  • Teacher schedules

  • Dark mode

  • Better bug reports

  • Fix UX on app update where screen flashes twice

  • Fix dashboard layout UX (jumpy)

  • Update dependencies

v1 (latest 1.0.2)

The source for version 1.0.2 and history for v1 is in the v1 branch.

Rewrite Roadmap:

Next up:

  • Integration with bugsnag for better error reporting, more conservative use of CodePush to prevent uneven versioning between users

  • Handle different types of dates (need to manually add in meantime)

    • Test no-overlap on assembly dates
    • Test overlap on assembly dates
    • Test cross sectioned overlap on assembly dates
    • Test finals display on ScheduleCard and Dashboard
      • For last day of finals, start at mod 5 on Dashboard
    • Test early dismissal dates
    • Test late start dates
  • Fix bug to handle multiple cross sections per day

  • Decode encoded JSON (i.e. \u0026)

  • Update dependencies and React/React Native

  • Consistent code and linting

    • Refactor components and screens for less file congestion and more reuse
    • Better error handling for server request exceptions
    • Better error reporting for AsyncStorage accesses
    • Consistent actions and action creators
    • Use ESLint
  • Unit testing with Jest

    • Login system
    • Dashboard date handling/operations
    • Schedule display of cross-sectioned mods and other irregularities
  • Redo refreshing system

  • UI Redesign with Native Base

    • Login
      • Native Base inputs and buttons
      • Vector icon for loading animation
      • Better UI for login failure
      • Keyboard avoiding view for all phone sizes
    • Dashboard
      • Parallax scroll view
      • Upload own photo
      • Option to reset to school photo
      • Display cross-sectioned warning
    • Schedule
      • Preprocess data in action creators before rendering in Schedule to reduce lag
      • Wait for drawer animation to finish to reduce choppiness
      • Vertical progress bar to signify relative position in day
      • Better approach to showing time tables for mods
      • Display cross-sectioned mods
    • Settings
      • Make manual refresh more prominent and user friendly
    • Drawer
      • Banner to show current date for better look
      • Icons for different screens (and tint colors)
      • Logout span full width with same style as screens