Skip to content

Latest commit

 

History

History
80 lines (67 loc) · 5.02 KB

TODO.md

File metadata and controls

80 lines (67 loc) · 5.02 KB

TODO

  • Create repo for functionality shared between the pwa and the desktop data manager.
  • Make it possible to search by individual fields in the data manager.
  • Update CSV export functionality
    • Make project dropdown in ExportModal use a local project variable instead of the current global state. It can be initialized with the project selected in global state.
    • Exported CSV files should be named as follows where <project> is the name of the project, <critter> is the name of the critter, environment is the name of the environment (live or test) and <date> is the date of the export:
      • Quick Export: Exports the data in the current table view.
        • Session Data: <environment>-<project>-sessions-<date>.csv
        • Critter Data: <environment>-<project>-<critter>-<date>.csv
      • Export Modal: Exports all session or critter data in the database for the selected project.
        • Session Data: <environment>-<project>-sessions-all-<date>.csv
        • Critter Data: <environment>-<project>-<critter>-all-<date>.csv
          • When more than one critter is selected in the ExportModal, each critter's data should be exported to a separate CSV file.
  • Add a project selection dropdown to the MergeSessionModal
    • It should operate on a local project variable instead of the current global state.
    • It should be initialized with the project selected in global state.

🖼️ UI/UX

  • Redesign the FormBuilderModal
  • Add tooltips to all UI controls.
  • Add new icon for quick export button to distinguish it from the ExportModal button. Perhaps a lightning bolt?
  • Add slideshow of images to the HomePage

🪲 Bug Fixes

📝 Documentation

  • Write a privacy policy for field day and provide a link to google cloud console here.
  • Choose a license for the desktop data manager.
  • Add instructions for setting up Firebase.
  • Document that Google cloud console is required for managing Google OAuth.
  • Document that to access Firebase, Firestore, and Google Cloud features, the developer must be added to the Google Cloud project by the project owner (Dr. Heather Bateman)
  • Document the need to add test deployment URLs to the Firebase project authorized domains.

📋 Data Integrity

  • Add edit history to firestore
  • Create a backup database for the desktop data manager.
    • The backup database should be updated manually by the project owner (Dr. Heather Bateman) on a regular basis. This won't be automated to ensure that the backup database is not accidentally overwritten with bad data.
  • Add date/time picker to the entry items in the table view.
  • Genus and species should not be directly editable in the table view.
    • Instead, species code should be selected from a dropdown and genus and species should be automatically populated based on the species code.

🛡️ Security

  • Switch to username/password authentication for the desktop data manager.
  • Add roles with different permissions.
    • Admin: Can add, edit, and delete live and test data.
    • Editor: Can add edit live and test data.
    • Viewer: Can view live and test data but cannot edit or delete it.
    • Developer: Can view live and test data, edit test data, and delete test data.
  • Hide all app secrets from the client.
  • Issue new API keys and secrets on an as-needed basis.
  • Implement remaining security dependabot recommendations.

Completed

  • Add favicon to the desktop data manager.
  • Fix the edit feature for the Year column in any table.
    • One of the following solutions are acceptable:
    • Remove the edit feature for the Year column.
    • Make it so that editing the Date column automatically updates the Year column.
  • Fix the approach taken to icons in icons.jsx. Something about it feels like a smell.
  • Rename WebUI to Desktop Data Manager.
  • Update meta data in package.json and package-lock.json.
  • Add instructions for setting up Google Auth for test deployments.
  • Fix authentication on test deployments.
    • Users of test deployments are currently unable to sign in.
    • Dr. Bateman needs to be able to test new features before they are deployed to production.