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.
Open the Swagger UI web page:
- Expanding jwt-authentication-controller.
- Opening the /user POST request.
- Filling in the userRequest body (hint: click the example to the right to populate the text field with default values).
- Clicking "Try it out!".
Copy the value of the "token" attribute (all the way til its end on the right):
- Click "Authorize" at the top of the screen.
- Type "Bearer <your token>".
- Click Authorize.
The web page will be refreshed and you can now access all the APIs in the other controllers.