Here is Backend API
project for out LMS (Learning Management System)
. On this project we use Java
as Programming
Language and Spring Boot
as Framework.
Here we will user GraphQL
as main API and possibly use Rest FULL API
if needed
First clone this repository to your local storage.
git clone https://github.com/Capstone-Project-B12-LMS/backend-api-lms.git
cd backend-api-lms
To make it easier to run here i use Docker
. So if you haven't installed Docker
, please install
it here
if you have installed Docker
please run command bellow
cd env/
docker compose up -d
And Docker
will magically prepare app enviroment.
Here we have 2 mode of API
-
Rest FULL API
- On Rest FULL API you can see documentation in
http://localhost:8080/restapi/docs/swagger-ui/index.html#/
after app running.
- On Rest FULL API you can see documentation in
-
GraphQL API
- On GraphQL API you can access
http://localhost:8080/gql/v1/graphiql?path=/graphql
to useGraphQL
in browser and you can send yourGraphQL Query
inhttp://localhost:8080/gql/v1/graphql
- On GraphQL API you can access
This app already deployed in server enviroment. So, you can use some resource to use this app without install it. Use resource bellow to use it.
-
Rest FULL API
-
GraphQL API
-
GraphiQL to test graphql in browser with simple documentation : http://ec2-34-223-3-198.us-west-2.compute.amazonaws.com/gql/v1/graphiql?path=/gql/v1/graphql
-
GraphQL url : http://ec2-34-223-3-198.us-west-2.compute.amazonaws.com/gql/v1/graphql
-
-
Some endpoints may already be protected. So, require
Authorization
andAuthentication
to access endpoints withJwt Token
. To access endpoint withJwt Token
please register first and login with registered account and you will have theToken
as response, you can use it to access all endpoints. Follow format bellow to access protected endpoints.- Using
Authorization
Header
{ "Authorization": "Bearer <Paste Your Token Here>" }
and later it will look like this
{ "Authorization": "Bearer eyJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6W3siYXV0aG9yaXR5IjoiVVNFUiJ9XSwiZXhwIjoxNjU0ODMzODE4LCJ1c2VySWQiOiI5ZDRhMDU1ZC0xNDNmLTRmNTEtOWJmYS02MTg5YjU1YTlkMDMiLCJpYXQiOjE2NTQ4MzAyMTh9.9CG4JCyKqrzgOq3a89zkhaMLVSf7W-WnYQSxAJwhrOk" }
- Using