openapi: 3.0.3
info:
  title: "Professor Applebaum's Courses API"
  description: ''
  version: 1.0.0
servers:
  -
    url: 'https://courses.ianapplebaum.com'
paths:
  /api/user:
    get:
      summary: ''
      operationId: getApiUser
      description: ''
      parameters:
        -
          in: header
          name: Authorization
          description: ''
          example: 'Bearer {YOUR_AUTH_KEY}'
          schema:
            type: string
        -
          in: header
          name: Content-Type
          description: ''
          example: application/json
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  name: 'Ian Tyler Applebaum'
                  email: ian.tyler@electricbluefish.com
                  email_verified_at: null
                  two_factor_confirmed_at: null
                  current_team_id: null
                  profile_photo_path: null
                  created_at: '2022-12-31T05:15:55.000000Z'
                  updated_at: '2022-12-31T05:15:55.000000Z'
                  profile_photo_url: 'https://ui-avatars.com/api/?name=I+T+A&color=7F9CF5&background=EBF4FF'
                properties:
                  id:
                    type: integer
                    example: 1
                  name:
                    type: string
                    example: 'Ian Tyler Applebaum'
                  email:
                    type: string
                    example: ian.tyler@electricbluefish.com
                  email_verified_at:
                    type: string
                    example: null
                  two_factor_confirmed_at:
                    type: string
                    example: null
                  current_team_id:
                    type: string
                    example: null
                  profile_photo_path:
                    type: string
                    example: null
                  created_at:
                    type: string
                    example: '2022-12-31T05:15:55.000000Z'
                  updated_at:
                    type: string
                    example: '2022-12-31T05:15:55.000000Z'
                  profile_photo_url:
                    type: string
                    example: 'https://ui-avatars.com/api/?name=I+T+A&color=7F9CF5&background=EBF4FF'
      tags:
        - Endpoints
  '/api/syllabus/{id}':
    get:
      summary: 'Display the specified resource.'
      operationId: displayTheSpecifiedResource
      description: ''
      parameters:
        -
          in: header
          name: Authorization
          description: ''
          example: 'Bearer {YOUR_AUTH_KEY}'
          schema:
            type: string
        -
          in: header
          name: Content-Type
          description: ''
          example: application/json
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "{\n\"result\" : \"ok\",\n\"events\" : [\n{\n\"event_name\" : \"Syllabus/Ice Breaker\",\n\"id\" : 1,\n\"created_at\" : \"2023-01-07T05:03:09.000000Z\",\n\"event_description\" : \"First day of class we'll get to know each other with a small \\\"hackathon\\\" activity\",\n\"class_type\" : \"Lab\",\n\"syllabus_id\" : 1,\n\"updated_at\" : \"2023-01-07T06:29:51.000000Z\",\n\"event_date\" : \"2023-01-17\"\n},\n{\n\"event_name\" : \"How to pitch an idea\",\n\"id\" : 2,\n\"created_at\" : \"2023-01-07T06:45:37.000000Z\",\n\"event_description\" : \"We will learn how to pitch an enticing project idea.\",\n\"class_type\" : \"Lecture\",\n\"syllabus_id\" : 1,\n\"updated_at\" : \"2023-01-07T06:45:37.000000Z\",\n\"event_date\" : \"2023-01-18\"\n},\n{\n\"event_name\" : \"Project Brainstorming\",\n\"id\" : 3,\n\"created_at\" : \"2023-01-07T06:47:55.000000Z\",\n\"event_description\" : \"We will learn what tools are out there for building great capstone projects. We will also talk about what solving problems and avoiding picking technology for technology sake.\",\n\"class_type\" : \"Lab\",\n\"syllabus_id\" : 1,\n\"updated_at\" : \"2023-01-16T13:50:23.000000Z\",\n\"event_date\" : \"2023-01-19\"\n},\n{\n\"event_name\" : \"Individual elevator pitch\",\n\"id\" : 4,\n\"created_at\" : \"2023-01-07T06:48:50.000000Z\",\n\"event_description\" : \"All students will pitch their projects.\",\n\"class_type\" : \"Lab\",\n\"syllabus_id\" : 1,\n\"updated_at\" : \"2023-01-07T06:48:50.000000Z\",\n\"event_date\" : \"2023-01-24\"\n},\n{\n\"event_name\" : \"Test Procedures Document\",\n\"id\" : 26,\n\"created_at\" : \"2023-01-10T04:02:09.000000Z\",\n\"event_description\" : \"The Test Procedures document describes the approach and tests to be performed to verify the requirements specified in the Requirements Document. It includes procedures for unit tests, which involve testing individual methods with input parameter values and expected results, using mock objects to stub external classes. It also includes integration tests, which demonstrate each use-case based on the use-case descriptions and sequence diagrams, using mock objects for external input and verification. Finally, it includes acceptance tests, which demonstrate all functional and non-functional requirements through a combination of automated tests derived from use-cases and manual tests with recorded observations of the results.\",\n\"class_type\" : \"Assignment\",\n\"syllabus_id\" : 1,\n\"updated_at\" : \"2023-01-12T04:54:50.000000Z\",\n\"event_date\" : \"2023-03-05\"\n},\n{\n\"event_name\" : \"Spring Break (no classes held)\",\n\"id\" : 9,\n\"created_at\" : \"2023-01-07T06:53:03.000000Z\",\n\"event_description\" : \"Monday, March 6 - Sunday, March 12 is Spring Break!\",\n\"class_type\" : \"Break!\",\n\"syllabus_id\" : 1,\n\"updated_at\" : \"2023-01-16T03:48:37.000000Z\",\n\"event_date\" : \"2023-03-06\"\n},\n\n],\n\"syllabus\" : {\n\"course_semester\" : \"Spring\",\n\"id\" : 1,\n\"start_date\" : \"2023-01-17\",\n\"course_year\" : 2023,\n\"created_at\" : \"2023-01-07T05:02:29.000000Z\",\n\"updated_at\" : \"2023-01-07T06:44:34.000000Z\",\n\"end_date\" : \"2023-05-09\",\n\"course_name\" : \"Projects in Computer Science\",\n\"discord_channel\" : \"1060282877230723077\"\n}\n}"
      tags:
        - Endpoints
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the syllabus.'
        example: 1
        required: true
        schema:
          type: integer
  /api/syllabus:
    get:
      summary: 'Display a listing of the resource.'
      operationId: displayAListingOfTheResource
      description: '//     * @return \Illuminate\Http\Response'
      parameters:
        -
          in: header
          name: Authorization
          description: ''
          example: 'Bearer {YOUR_AUTH_KEY}'
          schema:
            type: string
        -
          in: header
          name: Content-Type
          description: ''
          example: application/json
          schema:
            type: string
        -
          in: header
          name: Accept
          description: ''
          example: application/json
          schema:
            type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  result: ok
                  syllabi:
                    -
                      id: 1
                      course_name: 'Projects in Computer Science'
                      course_semester: Spring
                      course_year: '2023'
                      start_date: '2023-01-17'
                      end_date: '2023-05-09'
                      created_at: '2022-12-31T05:16:39.000000Z'
                      updated_at: '2022-12-31T05:16:39.000000Z'
                      discord_channel: '1060282877230723077'
                    -
                      id: 2
                      course_name: 'CIS Projcts in Computer Science'
                      course_semester: Spring
                      course_year: '1999'
                      start_date: '2004-11-07'
                      end_date: '2007-08-16'
                      created_at: '2023-01-05T04:32:32.000000Z'
                      updated_at: '2023-01-05T04:32:32.000000Z'
                      discord_channel: null
                properties:
                  result:
                    type: string
                    example: ok
                  syllabi:
                    type: array
                    example:
                      -
                        id: 1
                        course_name: 'Projects in Computer Science'
                        course_semester: Spring
                        course_year: '2023'
                        start_date: '2023-01-17'
                        end_date: '2023-05-09'
                        created_at: '2022-12-31T05:16:39.000000Z'
                        updated_at: '2022-12-31T05:16:39.000000Z'
                        discord_channel: '1060282877230723077'
                      -
                        id: 2
                        course_name: 'CIS Projcts in Computer Science'
                        course_semester: Spring
                        course_year: '1999'
                        start_date: '2004-11-07'
                        end_date: '2007-08-16'
                        created_at: '2023-01-05T04:32:32.000000Z'
                        updated_at: '2023-01-05T04:32:32.000000Z'
                        discord_channel: null
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        course_name:
                          type: string
                          example: 'Projects in Computer Science'
                        course_semester:
                          type: string
                          example: Spring
                        course_year:
                          type: string
                          example: '2023'
                        start_date:
                          type: string
                          example: '2023-01-17'
                        end_date:
                          type: string
                          example: '2023-05-09'
                        created_at:
                          type: string
                          example: '2022-12-31T05:16:39.000000Z'
                        updated_at:
                          type: string
                          example: '2022-12-31T05:16:39.000000Z'
                        discord_channel:
                          type: string
                          example: '1060282877230723077'
      tags:
        - Endpoints
tags:
  -
    name: Endpoints
    description: ''
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: ''
security:
  -
    default: []
