[Early Development] 3rd Party Addon - AstroPrint Classroom


#1
I've created this thread today for a couple of reasons. Firstly I want to be able to guage the interest in this addon as well as get suggestions for features to implement into it. I will also use this to keep anyone interested up to date with the latest progress in development as well as getting a couple of people Alpha & Beta test this for me.

I have decided to build this addon as I have seen various mentions of this or similar projects by other forum members. This type of addon I believe can benefit teachers and students at the same time. Having only just left school 3 years ago myself,  I can see with an addon like this combined with the power and flexibility of AstroPrint it can assist in an education environment.

Planned Features

  • Account authentication via email & password, Google or Facebook
  • Classes to easily group students
  • Categories to segregate tasks/assignments within a class view (Use case: to segregate Tasks/Assignments into semesters, terms or topics)
  • Tasks/Assignments with deadline support allowing students to view information and submit print files
  • Teacher accounts which allow the management of students, classes, categories, tasks/assignments. (Teachers can be added to multiple classes and classes can have multiple teachers)
  • Allow submitted task/assignment files to automatically be sent to a specified queue/printer (set per task/assignment) or to be flagged for review by an assigned teacher who can then approve and send it to a printer/queue or deny it with feedback to be resubmitted by the student.
  • Teachers can view reports on student print information, files, statistics & tasks/assignments grades
  • Teachers can manage print jobs, queues and access indivdual printer controls 
  • Allow students to view a live webcam feed whilst one of their files is print (Can be changed to view the webcam anytime)
  • More features that I cannot remember at this time although will edit this post and add them in later along with any user suggestions

    :+1:


Note: Some of the features mentioned may end up being restricted or limited in certain areas as to not replicate any features of the premium AstroPrint services. This applies to any user suggestions, I will not accept any that reduce the need to support AstroPrint by paying for a premium subscription.

Addon Type

After doing a lot of research and testing I have decided to develop this application as a centrally hosted app (Accessed via a public URL) rather than a self hosted app (Accessed on a local network). Although both have their advantages and disadvantages I felt that the centrally hosted evironment provided more advantages while saving me a lot of time and effort in the development and deployment stages.

Addon Pricing

As much as I would love to offer this addon free of charge to everyone it unfortunately is not possible due to costs being involved with hosting the application as well as the storage of the data. I have not yet worked out the exact cost for this addon. It will be a fixed monthly subscription fee with unlimited usage**. This means only one subscription to AstroPrint Classroom will be required for an entire school allowing unlimited**, teachers, students, classes & tasks/assignments.

** Unlimited usage within reason. There is potential for the system to be abused in regards to using it for more than the intended one school. Safeguards will be implemented to stop this.

Professional Use

Although AstroPrint Classroom (as the name implies) is intended to be used in an educational environment should there be a need for this to also be used in a professional environment this could be done. It would only require minor code changes and renaming ( "Schools, Teachers, Students, Classes, Tasks/Assignments" => "Companies, Managers, Staff, Teams, Projects/Work" ).

How it will be made

For anyone curious with how this addon will be made it will be built in JavaScript using the React framework. Google App Engine will host the code and all static files. I will be integrating with Google Firebase via the JavaScript SDK which is used for user authentication, real-time database storage as well as Static storage for uploaded files (Also allows access to Machine learning, Cloud functions & Analytics)


#2

Not sure how many teachers are actively monitoring the forum, but having talked to many of them, I can tell ya that there’s definitely demand for this. :ok_hand: