/basic-spring

RESTful Spring Boot application integrated with PostgreSQL for managing students

Primary LanguageJavaMIT LicenseMIT

RESTful Spring Application with Postgres for Students Management Deployed on AWS EC2

Checkout the Swagger UI (deployed on AWS EC2 using Docker Hub).
Instructions for user creation and authentication (to access the API) below.

The app exposes API to:

  • Register and authenticate as a user in the system with JWT authentication (JWT authentication controller).
  • Create, read, update, and delete (CRUD) students in the Postgres DB (students controller).
  • Add grades for students in different courses (students grades controller).
  • Upload a student's image to AWS S3.
  • Send SMS to all the students in the DB with a POST request. The request creates a thread to handle sending the SMS to all the students (via sms4free).
  • Send an email to a given address (via SendGrid's API).

Containerized with Docker, uploaded to Docker Hub, and deployed on an AWS EC2 instance using Docker.

Instructions for User Creation and Authentication

Open the Swagger UI web page:



image

Create a user by:

  1. Expanding jwt-authentication-controller.
  2. Opening the /user POST request.
  3. Filling in the userRequest body (hint: click the example to the right to populate the text field with default values).
  4. Clicking "Try it out!".
image

Notice the response:

Copy the value of the "token" attribute (all the way til its end on the right):

image

Authorize by:

  1. Click "Authorize" at the top of the screen.
  2. Type "Bearer <your token>".
  3. Click Authorize.
image



The web page will be refreshed and you can now access all the APIs in the other controllers.