rubyforgood / rubyforgood/endsideout
Admin CSV Import
Open
@amcheers is already working on this.
Since Aug 28, 2026.
- Dominant language
- JavaScript
- Stars
- 11
- Forks
- 4
- Avg merge
- 20h 30m
- Merged PRs (30d)
- 19
Description
What
- Add a CSV import option to allow bulk creations of the entities in a school
Context
- This CSV import would only be run when there aren't already existing entities in the school for this year; it does not need to handle merging with intitial data.
- The import should provide a template to download with the necessary columns
- The import should be able to create classrooms, teachers, students all at once
AC
- An admin can download a CSV template from the school's page with the required columns for classrooms, teachers, and students
- An admin can upload a completed CSV for a school to bulk-create its classrooms, teachers, and students in a single import
- The import option is only available when the school has no existing classrooms, teachers, or students — if the school already has data, the import is not offered
- Each classroom row includes at least one program/level so it satisfies the existing "at least one program enrolled" requirement
- Each student row requires first name, last name, and grade level (gender and email are optional), and associates the student with the classroom and school from their row
- If any row in the CSV fails validation (missing required field, unrecognized program, etc.), the entire import is rejected as a single transaction — no classrooms, teachers, or students are created — and the admin sees which row(s) and column(s) failed
- On a fully valid CSV, all classrooms, teachers, and students are created together, with students correctly linked to their classroom
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.