Originally created for Voyance HQ test. The codebase is now feature complete; please submit bug fixes via pull requests & feedback via issues.
You can view a live demo over at https://starwars-universe-ng.netlify.app/
To get the frontend running locally:
- Clone this repo
npm install
to install all requiredd dependenciesnpm start
to start the local server (this project uses create-react-app)
Be aware that Local web server will use the standard React's port 3000 . You can configure port in scripts section of package.json
if you have backends like Node or Rails to avoid conflicts.
Convinently, i used the open and keyless API swapi.dev/api/people for the application to make requests against. You can view the API spec here which contains all routes & responses for the server.
The Starwars character project is simply an entertainment focused web app that lists out features of your favorite star wars characters. It uses a custom API for all requests. You can view a live demo over at https://starwars-universe-ng.netlify.app/
General functionality:
- Search functionality to display characters matching search term.
- Persisted display of Starwars characters on the landing page.
- Sidebar that holds a list of your favorite characters (Your choices are persisted also).
- Uniqe pages for each selected Starwars character.
The general page breakdown looks like this:
- Home page (URL: /#/ )
- List starwars characters displaying options to be added to favorites or deleted from your favorites list.
- Sidebar consiting your saved characters.
- Used redux to maintian the global state user's favorite character, list of characters, and search terms
- Pagination for list of articles
- Persist data (store favorite characters in localStorage).
- Search results page (URL: /#/search)
- Displaying a list of characters matching your searched term. Search term here was concurrently fetched, stored in redux store, and fetched to properly filter to redurect user to the exact character.
- Character page (URL: /#/actor/id )
- The page shows a table with details of the character selected.
Tunde Adepegba - christopher.adepegba@gmail.com
Project Link: https://github.com/Tundeshield/Starwars-universe