-
Fork and clone this project locally then begin the test in the repo.
-
Following the serverless architecture and the microservice principles, set up a backend using both the Middy and Serverless Framework that will be deployed to AWS Lambda.
-
Project should be in typescript
-
Follow the Functional programming (FP) technique
-
Set up a GraphQL API layer using Hasura with a PostgreSQL Database
-
All interactions with the database should be through the GraphQL API
-
Implement & use graphql-request to interact with with the GraphQL API
-
Setup middlewares using middy that would commonly be used for security, logging & data validation.
-
Complete the
pricing_algo.ts
script and make it accessible through an API. -
Create a
blog
table with a thousand generated articles that consist of atitle
,content
,author
,create_at
,updated_at
. -
Develop a public REST API route that returns a paginated list of blog articles. The implementation should use GraphQL Relay Cursor-based pagination method.
-
Implement full-text fuzzy search with Hasura GraphQL API and Postgres for all blogs where their title & content are searchable. Expose an API to interact with the functionality.
-
Deploy each route to its own Lambda function using the Serverless Framework. Do note you can use the Serverless Framework without the serverless cloud service.
-
Implement code/typescript generation based on the GraphQL API
-
Generate an OpenAPI documentation for all routes
After completing the coding test, please provide the details listed below:
-
API route links and Open API documentation
-
Public GitHub link for all tests completed
-
Any other information required to run and access the project such as environment keys (
.env
) and admin login
To learn more about some of the technologies used, take a look at the following resources: