JithinKS97 / dynamic-learning

A platform where teachers collaborate with creative coders to make STEM lessons that make use of interactive visualisations
https://dynamic-learning.herokuapp.com/
GNU Lesser General Public License v2.1
31 stars 23 forks source link

Adding profiles page #25

Open JithinKS97 opened 5 years ago

JithinKS97 commented 5 years ago

This page contains details about the user. It can also contain details about the contributions that they have made in the platform. For example, the lessonsplans, simulations, lessons that they created and made available to the public. More ideas are welcome. Also the ability to search and find other users and see their works.

@ashneeldas2

nickmcintyre commented 5 years ago

I like the notion that all users are encouraged to create, learn, and teach. And we're all for facilitating collaboration and exchange. That said, safeguarding children who use the platform is critical and requires very intentional design. In the US, we're bound by (at least) FERPA and COPPA. I'll open a separate issue for privacy and compliance.

@ashneeldas2 is on the right track in distinguishing between user types. For reference, Scratch and Khan Academy either discourage or disable children from revealing too much information. They also enable teachers to create sets of student accounts for classes which is very useful.

What do y'all think about the following account types?

ashneeldas2 commented 5 years ago

I certainly agree with @JithinKS97 that the platform needs to be open for use to anyone. As a result, I think the only necessary distinction that really needs to be made would be between students and teachers to deal with administrative roles and privacy concerns.

@nickmcintyre I also like the idea of having a Standard account instead of a Developer account.

So, in order to combine both of your ideas, here’s a proposal regarding permissions and access:

• Teachers/Instructors will be able to create classes which have a roster of students. They will be able to view information about the student, but this info will be available to no one else (@nickmcintyre probably knows more about the specific laws regarding this). • Students have profiles that are linked to a school/class, similar to Canvas and Google Classroom. They will still be able to develop their own simulations and contribute to the existing collection of simulations, but once released to the outside world, these simulations will have no trace of their profile information. • Standard accounts, as Nick mentioned, will be able to do everything other than manage classes. These standard accounts, however, will not be linked to a school.

If there are any details that might need to be worked out, I’m totally open to hearing changes! Overall I don’t want the platform to be something that’s restrictive, but I also want it to serve the use case of schools which does come with specific necessities.

JithinKS97 commented 5 years ago

I like the idea of teachers being able to create classrooms to which students can be added. But I think, before moving on further, we must discuss more in detail about the exact use cases of classroom.

  1. Things teachers can do in the classroom
  2. Things the students do
  3. The learning activities

Also I agree that we can replace developer category with standard

nickmcintyre commented 5 years ago

Awesome. Let's pick up the classrooms discussion in #7.

JithinKS97 commented 5 years ago

@ashneeldas2, In the discussion forum, I've added the feature for sending and accepting request for joining the discussion. But I think when a teacher receives a request, he should be able to get some info about the user for which he may be allowed to see the profile of the requester. Can we integrate this into the profile component that you are developing. May be the profile component can accept the users id as the prop to display the details of the corresponding user?

ashneeldas2 commented 5 years ago

@JithinKS97 Great! It should be fairly simple to integrate the profile component with this once I complete it (which should be done by tomorrow). For now, I have created a pull request that adds the new features I've been working on. Once that is merged, I will be able to pull all your changes and allow teachers to view info about the user who requested info.

Currently, I have accomplished something similar to this where the teacher can search for a student in their school (by username) and view their profile. I can copy over this code to the requests page and pass the username as a prop.