Open-source React Web Application that explores some interesting Star Wars data from GraphQL server. Live url: https://starwars-app-bg.netlify.com/
Data is fetched from GraphQL Server via Apollo client
There is only one user available with the following credentials:
- Email: demo@st6.io
- Password: demo1234
Authenticating the queries happens by adding Authorization header (jwt token) to the request with value Bearer
Routes are implemented via react-router-dom.
If the user is not registered, he is always redirected to the login page.
If the user has been registered, he can see the following pages:
- :/episodes
- :/episodes/id,
- :/characters,
- :/characters/id
-
- :/starships/id
The user can choose between a light and a dark theme. The selected theme is stored across sessions, i.e. if the user opted for the dark theme and closes the window, once she reopens it, the dark theme will still be applied.
If there is some kind of an error during login, an appropriate info message is shown on the frontend (‘Invalid Credentials’)
The app is fully responsive. Without the use of any frameworks. Custom mobile menu toggle functionality is implemented
The app has pagination that loads more data wherever applicable (List characters page and in Single episode page)
The components are unit-tested with jest and enzyme.