Skip to content

bergerb/OneRosterSampleDataGenerator

Repository files navigation

OneRoster Sample Data Generator

This class library can be utilized to generate randomly generated data or in-memory construct(s) of OneRoster roster files for educational applications.

Description

The objects generated in this class can be used for a number of things. They can be outputted to to Csv and OneRoster file types. They are generated and well-formed OneRoster files that match the 1.1 spec of OneRoster. The in-memory construct can also be used to import into various systems, test-systems, and other EdTech applications.

Creates

  • Academic Sessions
  • Classes
  • Courses
  • Demographics
  • Enrollments
  • Grades
  • Manifest
  • Org
  • Staff
  • Students

School Year generated runs from 8/16/{currentYear} to 8/15/{nextSchoolYear}

Semesters (Terms)

  • Full Year
  • MP1
  • MP2
  • MP3
  • MP4
  • Semester 1
  • Semester 2
  • Summer Semester

Getting Started

Dependencies

  • NET 7
  • Bogus 34.0.1
  • CsvHelper 30.0.1

Installing

Copy generated dll into your bin

Executing program

Simpliest Execution

	var oneRoster = new OneRoster();

Generating Files

	OneRoster oneRoster = new();
	oneRoster.OutputCSVFiles();
	oneRoster.OutputOneRosterZipFile();

This generates the needed OneRoster files to current application (AppDomain.CurrentDomain.BaseDirectory) path OneRoster folder. Then compiles the files into a OneRoster.zip file

    OneRoster oneRoster = new(new() { schoolCount = 3 });

The ability to set the number of generated school. The default is 22.

Configurable Settings

The argument for the constructor is a configurable record with optional fields that default to the following:

Setting Default
IncrementalDaysToCreate null
SchoolCount 22
StaffIdStart 1
StudentIdStart 910000000
StudentsPerGrade 200
MaxTeacherClassCount 8

More documentation to come.

Help

Please add an issue to this project

https://github.com/bergerb/OneRosterSampleDataGenerator/issues

Authors

Brent Berger hachyderm.io/@bergerb

Version History

  • TBD
    • Current Release

License

This project is licensed under the Unlicense license License

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages