Giter Club home page Giter Club logo

popsicle-sticks-extension's Introduction

Popsicle Sticks

🙋🏾‍♂️ A random student picker browser extension

Testimonials

  • "Easy to use"
  • "Simple"
  • "Useful"
  • "I set it up and was using it in about 6 minutes for all my high schoolers."

Features

  • Add and remove classes/periods
  • Add students one at a time or in bulk
  • Copy students from existing classes
  • Saves history so you can click away
  • Pop out mode for easy projecting
  • Light and dark mode
  • Class and student data synced to your Chrome account
  • Download data for backup

Documentation

How to add multiple students to a class

When on a class's page, the default option is to add one student at a time. If you want to add multiple students:

  1. Select "Add multiple students"
  2. Type/paste student names into the text box
  3. Select a format (one name per line, or names separated by commas)
  4. Select "Add all"

How to rename a class

The extension does not currently allow you to rename existing classes. However, you can accomplish the same thing by following these steps:

  1. Create a new class with the desired name
  2. Select "Copy another class?"
  3. Select the original class
  4. Delete the original class

popsicle-sticks-extension's People

Contributors

bryandagamer avatar seanmcp avatar

Stargazers

 avatar  avatar

Watchers

 avatar

popsicle-sticks-extension's Issues

SPIKE: Download, upload data

Description

Provide users the ability to download and upload student data that will be pushed straight to the store.

Tasks

  • Create a new screen
  • Trigger download from store
  • Upload JSON file into store

Persist state

make the Extension 'persistent', i.e. have it executing inside a window so I can switch back-and-forth from another app/tab, e.g. so that it could be useful/handy inside a Goggle Meet.

Sort students in class

provide an option to (Alpha) Sort the Students inside a Class, thus making it easy to 'cleanup' after a Remove-and-Add, e.g. spieling miss-takes on Student names (lol)...btw, I prefix my Students with a serial number (1, 2, 3...)

BUG: Memory clears when opened on another computer

Description

On log into my Google account in Chrome on several computers. I've recently been using a school issued Chromebook mostly, which is always logged into my school google account, and which I don't start up sessions using other accounts (it's managed so that I cannot add other accounts beside my school one). Today I re-entered three of my classes, but when I click the Popsicle Sticks icon in any of my browsers, it says "Classes (0)".
Is there a chance that logging into my account on a different device wipes my rosters?

Tasks

  • On load, check for existing data
  • If none, initial state

FEATURE: Link to feedback form

Is your feature request related to a problem? Please describe.
As a developer, I want to get more direct feedback from my users.

Describe the solution you'd like
A link to a feedback form

FEATURE: Clone class

Description

Add a button on the class view to clone the current class and students with a new name

Tasks

  • Create clone view
  • Load existing classes
  • Add clone to store based on source

FEATURE: Add students/classes on Enter

Feature request

One suggestion to make entering students' names easier, would be allowing pressing return to move on to the next student. Currently hands have to come off the keyboard to manually click "add" after each name. Just a small streamlining idea.

Tasks

  • Use form and onsubmit

BUG: Error on upload without file selected

Description

When you click the "Upload" button without selecting a file to upload, an error is thrown.

Tasks

  • Prevent the upload action from running without uploaded file
  • Disable the button before upload

BUG: Add Student Duplicate Allowed

Associated branch
#29

Describe the bug
Adding a student with the same name as one already added didn't give any warnings, allowed duplicate name.

To Reproduce
Steps to reproduce the behavior:

  • Select class > Input repeated student name > Select "Add student" > Alert about duplicate student names

Expected behavior
Alert about duplicate student names

Desktop (please complete the following information):

  • Browser Chrome
  • Version 92.0.4515.159

FEATURE: Handle absent students

Feature request

The last suggestion that would be a help but may also be a tricky feature to implement, would be a way of dealing with absent students. The easiest way would just be to ignore their name and keep going. But I wondered if it would be valuable to have an "absent" button next to the "remove" button for students, to toggle them on and off for including in the randomization. That would be better than deleting them and re-entering them later, but I guess either isn't really that necessary if their name can simply be ignored that day.

Possible solutions

  • Take "attendance" on class view
  • Remove students from list when they come up

Considerations

  • Time sensitive: marking a student absent should only be saved for one day

Tasks

  • Decide on approach

FEATURE: Upload CSV file of students

Is your feature request related to a problem? Please describe.
It'd be nice if one could upload a simple list of students, instead of copy pasting them.

Describe the solution you'd like
It's very easy to create a CSV file from Google Sheets or Excel with a list of students.
If the list is very long, copy-pasting might be tricky.

BUG: Unable to add more students

Associated branch
master

Describe the bug
After the Chrome storage quota has been reached, users are unable to add more classes or students.

To Reproduce
Steps to reproduce the behavior:

  1. Add lots of classes and students

Expected behavior
Teachers are able to add up to 200 students. When they hit the limit, they receive a descriptive error message.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser: Chrome
  • Version: All

Additional context
There isn't a good way to know how many students a teacher can add; it depends on the length of the class and student names.

Edit class names

Is there a way I can rename my class without deleting the entire class?

For students, it's easy enough to delete and then re-add, but you don't have that option for a full class of students.

BUG: Validate class names

Bug report

The problem is that if you click "Add" without entering a class name then the extension counts it as a class, but there is no way to select it to delete it, because it is 0 characters long so it doesn't make a link of any length. In the example below, there is a class with no title, and then three where titles were entered as usual.
It's really not an issue, because to all extents and purposes it just looks like a miscount, and all my other classes work fine.
So a small bug that probably hasn't affected anyone except me yet, given that it's an unusual case. A simple solution would be for the "add" button to be greyed out until a string of minimum length 1 was added.

Tasks

  • Check for non-null value before adding
  • Optional: Check if name is unique before adding

BUG: One name per line doesn't work

Associated branch
#0

Describe the bug
Lists of names (one name per line) are added as one name

To Reproduce
Steps to reproduce the behavior:

  1. Try to add Multiple Students
  2. Change to One name per line
  3. Paste names
  4. Click Add All
  5. All names are added as one name.

Expected behavior
Names should be added as separate names.
Screenshots
Skärmavbild 2022-08-18 kl  13 03 25

Skärmavbild 2022-08-18 kl  13 03 53

Skärmavbild 2022-08-18 kl  13 04 05

Desktop (please complete the following information):

  • OS: macOS Montery
  • Browser Chrome 104.0.5112.101
  • Version 1.4.1

Additional context
Adding names separated by comma works.

Return to picker mode on relaunch

The issue:

Is there a way to have the picker stay on the screen? It disappears when clicking outside of it's [sic] box or when leaving the tab and then have to relaunch each time.

Chrome extensions can't stay open when clicking off, so a solution would be to store the current page in memory and then return to that page when relaunching. Maybe on a 30 minute timer (so it wouldn't reopen to 8th period for 1st period the next day).

Also from #27:

make the Extension 'persistent', i.e. have it executing inside a window so I can switch back-and-forth from another app/tab, e.g. so that it could be useful/handy inside a Goggle Meet.

Display version number

display a Version number, e.g. provide an 'About' hyperlink, or show it in 'Settings'

BUG: Extension closes when selecting file for upload

Associated branch
master

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Settings > Data > "Upload"
  2. Select Choose File
  3. Select local file
  4. Confirm selection (OS specific)

Expected behavior
The extension stays open.

Screenshots

closing-extension.webm

Desktop (please complete the following information):

  • OS: Ubuntu
  • Browser: Chromium
  • Version: 114

Additional context

REFACTOR: Use query params instead of hash

Description

The app relies on hashes for passing data between views. This requires some work arounds and isn't best practice. Use query parameters instead.

Discussion

This will help with the clone feature in #4

Tasks

  • Remove instances of hashes
  • Replace with query parameters

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.