Skip to content

Project for bullying control in school classes. Developed in LauzHack 2019

License

Notifications You must be signed in to change notification settings

carlotacb/ClassController

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo


GitHub stars GitHub forks GitHub repo size in bytes GitHub contributors GitHub license

Devpost description of the project

Inspiration

Bullying in schools is a reality, and some of us, we used to see (or be part) of some of these unacceptable situacions. Also we hear about some projects and papers that talk a about how to prevent this situations on the psicologic way, and after take a lot on them we realize that if all the proces is automatized we can prevent all the situations in a easier way and making the study with more frequency.

What it does

ClassController helps the teacher to detect which students are alone and witch ones are the leaders of the class. For these, the students need to answer a bunch of questions, and after that, the teacher would visualize which student is seen as a leader for the rest of the group or which one is the person that is beeing bullied.

How we built it

For the Front-End we use React.js (using JavaScript) with Material UI for the components and Sigma.js for the graph visualization.

For the Back-End we use Golang for the development of the endpoints and MySQL for the database.

Challenges we ran into

During the development of this project we learn how to make a backend in Golang, and during the learn proces we have some issues that we solve, learning the lenguages in a 24-hackathon is always a challenge! Also we didn't know anything about the graph and we have the bottleneck with the development of the graph and also with the visualization of it.

Accomplishments that we're proud of

We are very proud of all the project in general! Finishing the web on time and developing more than the MVP we think at the beggining of the hackathon. We had a good architecture and a coordination in the team. It was one of the best hackathons, just because the project was ended with more than the expected and ON TIME!

What we learned

For the back-end (as we commented in the challenge part) we learn to do a backend in Golang, also we learn about Gorm.

For the front-end we learn about Material UI for the design of the web and also we learn about graph visualization.

In general we learn about comunication inside the team.

What's next for class control

In the next vesions of ClassControl we think that the questions can be personalized and also the AI algorithm can be better and detect the people, for their leadership and for their loneliness, and create notifications and messages to show the teacher without having to look in the graph

Funcionalities and screenshots

First of all, when you open the aplication you need to choose your profile (student or teacher)

Logo


Teachers

  1. Login page: The teacher needs to enter a username and a password to login the application, and if it doesn't have account, register.

    Logo


  2. Groups Page: The teacher can see a list with all their groups, and also add groups on the list on it by entering a name and a list of students separated by comas. When a group is clicked, it goes to the dependency graph page.

    Logo


  3. Dependency graph: The teacher can see a graph with the relations of the students, that it's generated by the responses of them. Also it can see the feelings of the student with the color of the node, red indicates sadnes, black is the neutral color, and green is happiness.

Students

  1. Login page: The student needs to enteer their complete name to start answering the questions.

    Logo


  2. Questions: The student need to answer two type of questions: the first ones are questions were the students answers are related to the relations in class, and the second ones are related to their feelings.

    1. Type 1 - Selection of multiple classmates: The students can choose anyone in the classrom.

      Logo


    2. Type 2 - Selection of one classmate: The student have to choose betwen 3 or 4 classmates (depending on the previous answers).

      Logo


    3. Type 3 - Rating: The student have to rate selecting a number between 0 and 4.

      Logo


Questions

  1. Relations questions

    1. Type 1
      Q: Who would you choose to do a school project?
      A: The student have to those 4 students
    2. Type 2
      Q: Who would be the best leader?
      A: The student have to choose one of the 4 students selected in the last question, or theirself]
    3. Type 1
      Q: Who would you choose to play at the playground?
      A: The student have to those 4 students
    4. Type 1
      Q: Who would you choose to be in an airplain cabin?
      A: The student have to those 2 students
    5. Type 2
      Q: Who would be the pilot?
      A: The student have to choose one of the 2 students selected in the last question, or theirself
    6. Type 1
      Q: Who would you believe most?
      A: The student have to those between 1 or 3 students
    7. Type 1
      Q: Who tell the best stories?
      A: The student have to those 3 students
  2. Feelings questions

    1. Type 3
      Q: Are you happy?
      A: Number between 0 and 4
    2. Type 3
      Q: Are you alone?
      A: Number between 0 and 4
    3. Type 3
      Q: Are you happy playing at the playground?
      A: Number between 0 and 4
    4. Type 3
      Q: Do you like going to school?
      A: Number between 0 and 4
    5. Type 3
      Q: Are you happy with the friends you have?
      A: Number between 0 and 4

Requirements

To run this application you need to have installed in you PC the following:

  1. Node.js
  2. Golang

Usage

To run the application you need to run the first the backend and then frontend:

Backend

  1. First you need to go to the backend folder:

    cd backend
  2. Install all the Golang dependencies:

    go build
  3. Run the backend:

    ./backend

Frontend

  1. First you need to go to the frontend folder:

    cd ../frontend
  2. Install all the node dependencies:

    npm install
  3. Start the application:

    npm start

Authors

License

MIT © ClassController

About

Project for bullying control in school classes. Developed in LauzHack 2019

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 81.0%
  • Go 16.6%
  • HTML 1.7%
  • CSS 0.7%