Skip to content

DogaruMonica/Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

To install:

  1. Download postgresql https://www.postgresql.org/download/windows/ with User: postgresql and Password: admin //Technically, you can choose any user or password, but choosing these would mean not having to modify the project every time you want to run it :)
  2. Download pgadmin 4 https://www.pgadmin.org/download/
  3. Download IntellijIDEA https://www.jetbrains.com/idea/
  4. Download Java 1.8 (you need an Oracle account, good luck)
  5. Download Gradle 4.6 (if intellij brings a newer version, downgrade to this one)
  6. Run the project

To modify the project:

  1. Make a new branch for any small change
  2. Make a pull request and wait for approve

Don't push on master.

###Request-Response bodies and available endpoint Application runs on port 8080 so calls have to be made on http://localhost:8080 and following endpoints:

/user

  1. Create a user: POST /user

    • Request body JSON
      { "email": "test@test.com", "password": "1", "role": "admin" }
    • Response body
      Status code 200OK for success
      Status code 400BadRequest for failure
  2. Get all users: GET /user

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      [ { "id": 2, "email": "test@test.com", "password": "1", "role": "admin" }, { "id": 3, "email": "pupil@test.com", "password": "1", "role": "pupil" }, { "id": 4, "email": "test@yahoo.com", "password": "sfsd", "role": null }, { "id": 5, "email": "test3@yahoo.com", "password": "sfsd", "role": null }, { "id": 6, "email": "test@test.com", "password": "dsds", "role": "pupil" }, { "id": 7, "email": "test@test.com", "password": "dsds", "role": "pupil" } ]
  3. Get user by id: GET /user/{id}

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      { "id": 3, "email": "pupil@test.com", "password": "1", "role": "pupil" }
  4. Delete user by id: DELETE /user/{id}

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      Status code 500InternalServerError for failure
  5. Update user by id: PUT /user

    needs fixing - do not use

  6. Check if user exists for login: GET /user/login

    Andreea needs to write this

/pupil

  1. Create a pupil: POST /pupil/{userid}/{classroomid}

    • Request body JSON
      { "firstname": "test", "lastname": "test" }
    • Response body
      Status code 200OK for success
      { "id": 5, "user": { "id": 7, "email": "test@test.com", "password": "dsds", "role": "pupil" }, "firstname": "John", "lastname": "Davis" } Status code 400BadRequest for failure
  2. Get all pupils: GET /pupil

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      [ { "id": 1, "user": null, "firstname": "firstnametest", "lastname": "lastnametest" }, { "id": 2, "user": { "id": 3, "email": "pupil@test.com", "password": "1", "role": "pupil" }, "firstname": "test", "lastname": "test" } ]
  3. Get pupil by id: GET /pupil/{id}

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      { "id": 2, "user": { "id": 3, "email": "pupil@test.com", "password": "1", "role": "pupil" }, "firstname": "test", "lastname": "test" }
  4. Delete pupil by id: DELETE /pupil/{id}

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      Status code 500InternalServerError for failure
  5. Update pupil by id: PUT /pupil

    needs fixing - do not use

/teacher

  1. Create a teacher: POST /teacher/{userid}

    • Request body JSON
      { "firstname" : "firstnametest", "lastname" : "lastnametest" }
    • Response body
      Status code 200OK for success
      Status code 400BadRequest for failure
  2. Get all teachers: GET /teacher

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      [ { "id": 1, "firstname": "firstnametest", "lastname": "lastnametest", "user": { "id": 2, "email": "test@test.com", "password": "1", "role": "admin" }, "subjects": [ { "id": 1, "name": "matematica" } ] } ]
  3. Get teacher by id: GET /teacher/{id}

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      { "id": 1, "firstname": "firstnametest", "lastname": "lastnametest", "user": { "id": 2, "email": "test@test.com", "password": "1", "role": "admin" }, "subjects": [ { "id": 1, "name": "matematica" } ] }
  4. Delete teacher by id: DELETE /teacher/{id}

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      Status code 500InternalServerError for failure
  5. Update teacher by id: PUT /teacher

    needs fixing - do not use

/classroom

  1. Create a classroom: POST /classroom

    • Request body JSON
      { "name": "12A" }
    • Response body
      Status code 200OK for success
      Status code 400BadRequest for failure
  2. Get all classrooms: GET /classroom

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      [ { "id": 2, "pupils": [ { "id": 2, "user": { "id": 3, "email": "pupil@test.com", "password": "1", "role": "pupil" }, "firstname": "test", "lastname": "test" } ], "catalog": { "id": 1 }, "name": "12A" } ]
  3. Get classroom by id: GET /classroom/{id}

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      { "id": 2, "pupils": [ { "id": 2, "user": { "id": 3, "email": "pupil@test.com", "password": "1", "role": "pupil" }, "firstname": "test", "lastname": "test" } ], "catalog": { "id": 1 }, "name": "12A" }
  4. Delete classroom by id: DELETE /classroom/{id}

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      Status code 500InternalServerError for failure
  5. Update classroom by id: PUT /classroom

    needs fixing - do not use

/catalog

  1. Create a catalog: POST /catalog/{classroomid}

    • Request body JSON
      { }
    • Response body
      Status code 200OK for success
      Status code 400BadRequest for failure
  2. Get all catalogs: GET /catalog

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      [ { "id": 1 } ]
  3. Get catalog by id: GET /catalog/{id}

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      { "id": 1, "classroom": { "id": 2, "pupils": [ { "id": 2, "user": { "id": 3, "email": "pupil@test.com", "password": "1", "role": "pupil" }, "firstname": "test", "lastname": "test" } ], "catalog": { "id": 1 }, "name": "12A" } }
  4. Delete catalog by id: DELETE /catalog/{id}

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      Status code 500InternalServerError for failure
  5. Update catalog by id: PUT /catalog

    needs fixing - do not use

/grade

  1. Create a grade: POST /grade

    • Request body JSON
      { "pupil" : 2, "subject" : 2, "grade" : 2 }
    • Response body
      Status code 200OK for success
      Status code 400BadRequest for failure
  2. Get all grades: GET /grade

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      [ { "id": 1, "catalog": { "id": 1 }, "pupil": 2, "subject": 2, "grade": 2 } ]
  3. Get grade by id: GET /grade/{id}

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      { "id": 1, "catalog": { "id": 1 }, "pupil": 2, "subject": 2, "grade": 2 }
  4. Delete grade by id: DELETE /grade/{id}

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      Status code 500InternalServerError for failure
  5. Update grade by id: PUT /grade

    needs fixing - do not use

/subject

  1. Create a subject: POST /subject

    • Request body JSON
      { "name" : "matematica" }
    • Response body
      Status code 200OK for success
      Status code 400BadRequest for failure
  2. Get all subjects: GET /subject

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      [ { "id": 1, "name": "matematica" } ]
  3. Get subject by id: GET /subject/{id}

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      { "id": 1, "name": "matematica", "teachers": [ { "id": 1, "firstname": "firstnametest", "lastname": "lastnametest", "user": { "id": 2, "email": "test@test.com", "password": "1", "role": "admin" }, "subjects": [ { "id": 1, "name": "matematica" } ] } ] }
  4. Delete subject by id: DELETE /subject/{id}

    • Request body JSON
      none
    • Response body
      Status code 200OK for success
      Status code 500InternalServerError for failure
  5. Update subject by id: PUT /subject

    needs fixing - do not use


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages