This is a simple application built for a superhero enthusiast, that can perform the following functions:
-
Allow a user to search for their favourite superhero.
-
Select the superhero, see their image, and power stats.
-
Edit the power stats
-
Save the image and stats to be viewed later.
So, essentially, the app would allow a user to search superheroes by name, see their details, edit them and view all their saved superheroes.
The application utilize the following tech stacks:
- Amplify
- AppSync (GraphQL)
- DynamoDB
- Lambda
- node.js (18.x)
- JavaScript
Run the tests:
auto/test
Run the application locally:
auto/local_run
Then you should be able to access the application: http://localhost:3000/
.
Deploy local changes to AWS:
-
- You may need to configure Amplify first.
-
- Please update to your own Super Hero API access key
auto/deploy
My test environment on AWS: https://dev.d1psk6i91gcajq.amplifyapp.com/
Although I've try my best during the day, but there are still plenty of tasks/optimizations for the application:
- user sign up/login: integrate authentication/authorization with Cognito
- fix the lost focus of Input component when searching or updating super heros
- style the application so that they're better organized
- dockerize the application
- test react app