Skip to content

filipe1309/ud-nestjs-school-management-app

Repository files navigation

School Management App

JavaScript NodeJS NestJS GraphQL MongoDB Docker

💬 About

This project was developed following Udemy's "NestJS Zero to Hero - Modern TypeScript Back-end Development" class.

💻 Technologies

📜 Requirements

💿 Installation

git clone [email protected]:filipe1309/ud-nestjs-school-management-app.git
cd ud-nestjs-school-management-app

🏃 Running

docker-compose up

Access http://localhost:3000 to see the application

Access http://localhost:3000/graphql to see the GraphQL playground

Access http://localhost:8081 to see the MongoDB Express

GraphQL examples

Mutations

mutation {
  createStudent(createStudentInput: {
    firstName: "John",
    lastName: "Doe"
  }) {
    id
    firstName
  }
}

mutation {
  createLesson(
    createLessonInput: {
      name: "NestJS5 with students",
      startDate: "2020-03-28T17:00:00Z",
      endDate: "2020-03-28T17:30:00Z",
      students:[
        "e1b4e577-c8c9-4c56-8c7e-05bbe33f7355",
        "b6836795-2238-4ff2-a682-8a378743bf28",
        "568dbaa7-6170-4a1a-921d-6f72fa779125"
      ]
    }
  ) {
    id
    name
    students {
      firstName
    }
  }
}

mutation {
  assignStudentsToLesson(assignStudentsToLessonInput: {
    lessonId: "3e4c25ee-f879-43f8-896d-4930f3ab04ef"
    studentIds: [
      "e1b4e577-c8c9-4c56-8c7e-05bbe33f7355",
      "b6836795-2238-4ff2-a682-8a378743bf28",
      "568dbaa7-6170-4a1a-921d-6f72fa779125"
    ]
  }) {
    name
    students {
      firstName
    }
  }
}

Queries

query {
  lesson(id: "cec57d7d-863f-4e98-a585-238749bac7c3") {
    name
  }
}
query {
  lessons {
    name
  }
}


query {
  student(id: "e1b4e577-c8c9-4c56-8c7e-05bbe33f7355") {
    firstName
  }
}

query {
  students {
    firstName
  }
}

License

MIT

About Me


Done with  :heart:  by Filipe Leuch Bonfim 🖖


@ Generated with ShubcoGen Template™
Docs