Code States/TIL

[0403] Section 1. 프로젝트 - WAS, Web Server 실습 Day 1

ki1111m2 2023. 4. 3. 15:04

주제 : LMS(학습 관리 시스템)

최소 요구사항

  • 사용자는 모든 수업을 조회할 수 있다
  • 사용자는 특정 분류의 수업을 조회할 수 있다(예: 강의자/ 수업명 / 수업코드 등)
  • 사용자는 수업을 수강신청 할 수 있다
  • 사용자는 모든 수강중인 수업을 조회할 수 있다
  • 사용자는 이메일 정보와 같은 개인정보를 변경할 수 있다
  • 사용자의 타입이 강의자일 경우 새로운 수업을 생성할 수 있다
  • 사용자는 수업에 대한 수강신청을 취소 할 수 있다

데이터베이스 설계 및 ERD 제작

 

API 문저 제작

- GET /class

{
  "class": [
    {
      "id": 2,
      "title": "네트워크 기초",
      "teacher": "투명인간",
      "code": 100,
      "teacher_id": 4
    },
    {
      "id": 3,
      "title": "데이터베이스",
      "teacher": "투명인간",
      "code": 200,
      "teacher_id": 4
    },
    {
      "id": 4,
      "title": "REST API",
      "teacher": "도라에몽",
      "code": 300,
      "teacher_id": 5
    },
    {
      "id": 5,
      "title": "리눅스",
      "teacher": "도라에몽",
      "code": 400,
      "teacher_id": 5
    }
  ]
}

- GET /class?teacher_id=4

{
  "class": [
    {
      "id": 2,
      "title": "네트워크 기초",
      "teacher": "투명인간",
      "code": 100,
      "teacher_id": 4
    },
    {
      "id": 3,
      "title": "데이터베이스",
      "teacher": "투명인간",
      "code": 200,
      "teacher_id": 4
    }
  ]
}

- GET /class?title='네트워크 기초'

{
  "class": [
    {
      "id": 2,
      "title": "네트워크 기초",
      "teacher": "투명인간",
      "code": 100,
      "teacher_id": 4
    }
  ]
}

- GET /class?code=100

{
  "class": [
    {
      "id": 2,
      "title": "네트워크 기초",
      "teacher": "투명인간",
      "code": 100,
      "teacher_id": 4
    }
  ]
}

- GET /user_class?student_id=1

{
  "user_class": [
    {
      "uc_id": 1,
      "student_id": 1,
      "class_id": 1,
      "id": 2
    },
    {
      "uc_id": 2,
      "student_id": 1,
      "class_id": 2,
      "id": 3
    }
  ]
}

- POST /user_class

{
    "student_id": 1,
    "class_id": 1
}

- POST /class

{
    "title": "알고리즘",
    "teacher": "투명인간",
    "code": 600,
    "teacher_id": 4
}

- PUT /user?id=1

{
    "name": "도라에몽",
    "email": "gs@codestates.com",
    "phone": "01000000000"
}

처음으로 진행하는 프로젝트

다른 조가 어떻게 진행하고 있는 지를 몰라서 너무 궁금하고 답답하다 ..

생각보다 빨리 끝나서 우리가 잘해서 빨리 끝난건지 뭔가 놓쳐서 빨리 끝난건지 궁금한데

우리 조가 맞게 하고 있는 건지를 알 수 없으니 ㅠ__ㅠ ..

내일 있을 Day2 내용이 힘들 것 같은데, 오늘 빨리 끝나서 미리 해보고 싶었으나.. 자료가 열리지 않아 못했다..

그래도 이제 API에 대해서는 조금이나마? 알 것 같다

수업때 사용했던 툴들도 적절히 사용해서 과제를 진행하고 있고 .. 생각보다 열심히 해왔을지도..