Student absenteeism and outreach tracking app
This application is intended to streamline the process of tracking and reporting student absenteeism for Outreach for Good.
Google OAuth is used for authentication for using the app. Authenticated users are by default a 'guest'. The admin and super users are able to promote/demote access of other users by assigning roles.
The roles are:
- guest
- teacher
- manager
- admin
- super user
Vagrant
See tools/vagrant for development environment setup instructions
Heroku
This app contains npm scripts for easy deployment to Heroku.
The env variables that need to be set in server/config/local.env:
- APP_SECRET = SECRET
- DOMAIN = SOME HTTPS DOMAIN
- GOOGLE_ID = GOOGLE ID
- GOOGLE_SECRET = GOOGLE SECRET
- NODE_ENV = production
- SUPER_USER_EMAIL = EMAIL OF SUPER USER
Google id and secret need to be obtained by creating an application on Google Developers Console.
See tools/sample-pdfs for example import documents.
This version is currently under development.
- General
- Integrate bug tracking with Sentry.io
- When session validation fails, does user stay locked-out?
- DataTable - improve row selection performance with refs
- Page - Admin
- Prevent users from deleting themselves
- User photo in left-most column
- Rename 'Settings' tab to something meaningful
- align settings tab to DataTable style
- Page - Dashboard
- deselect rows after performing API Action
- show summary row as selected when collapsed with selected items
- ask about confirmation dialogs for API actions
- button to 'deselect all'
- color and formatting in dropdown menus
- count true/false cells for summary rows
- Page - Records
- Add title and page frame
- Look into refactoring the term 'records' into something more meaningful
- Add tests and improve error detection and handling
- Ensure schools are referred to by id and not name
- Page - Reports
- Verify everything is working
- Page - Settings
- Add title and page frame
- Add a description of the pages purpose
- Page - Statistics
- Add title and page frame
- Indicate that statistics is a work in progress in dev versions
- Upgrade babel-loader, current version causes depreciation warning (need v7)
- Server
- Remove all hard-coded school years
- does current return all or current year?
- Integrate bug tracking with Sentry.io
Fix promise-cancel console error Ensure performApiCall queue always flushes allow clicking on student note dates to see more info in a dialog
allow upload to any date when no records exist