GithubHelp home page GithubHelp logo

adrian-silva-uy / exercise-starwars-blog-reading-list-adrian-silva Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 4geeksacademy/exercise-starwars-blog-reading-list-adrian-silva

0.0 0.0 0.0 6.33 MB

License: Other

exercise-starwars-blog-reading-list-adrian-silva's Introduction

Starwars Blog Reading List

The force is strong with this exercise...

We are going to be building a minimalist version of the Star Wars Databank with a "Read Later" or "Favorites" list functionality.

Here is a Demo!

Starwars Demo

๐ŸŒฑ How to start this project

Do not clone this repository because we are going to be using a different template.

We recommend opening the react flux boilerplate using a provisioning tool like Codespaces (recommended) or Gitpod. Alternatively, you can clone it on your local computer using the git clone command.

This is the repository you need to open or clone:

https://github.com/4GeeksAcademy/react-hello-webapp

๐Ÿ‘‰ Please follow these steps on how to start a coding project.

๐Ÿ’ก Important: Remember to save and upload your code to GitHub by creating a new repository, updating the remote (git remote set-url origin <your new url>), and uploading the code to your new repository using the add, commit and push commands from the git terminal.

๐Ÿ“ Instructions

  1. Use Bootstrap components, you need almost no custom CSS.
  2. Take some time to understand the SWAPI.tech API, this will be our source of information, we will be consuming this API.
  3. Fetch the SWAPI's people, vehicles, and planets to display them on your application.
  4. Declare a favorites array in your central store and allow the user to add or remove favorites.

Building the grid

  • Create a React webapp that lists the people, vehicles and planets entities provided by the SWAPI.

Note: Please use https://www.swapi.tech/ instead of https://swapi.dev/ because the second one is causing problems.

Building a "Details" view

  • Each entity should have a short description (Bootstrap Card) and a "Details" view (Bootstrap components):

Important: The SWAPI doesn't provide the images, you can use https://starwars-visualguide.com to get the images easily. The focus of this exercise is to practice fetch, router, and context. Also, you can focus on the color theme and a simple layout to make it look good.

Important 2: Don't worry if the data you get from the SWAPI doesn't match the data you see in starwars.com.

Use all the information provided by the SWAPI (check the docs and/or the JSON responses).

Read Later or Favorites functionality

Implement a "Read Later" functionality, i.e., a button that allows the user to "save" the item (character, vehicle or planet) into a special list. The location of this list is your choice, as long as it works correctly (in our demo, it's a button on the navbar); this list resembles the main list but only shows the "saved" elements.

Use the Context

To ensure that the user can "save" the item, you must implement an action that can be accessible from anywhere within the app.

๐Ÿ˜Ž Feeling Confident?

The following features are not needed for the final solution, but you can develop them if you feel confident enough:

  • +1 Prevent the website from fetching the Startwars API again if refreshed (you can use the localStorage to save the store on the local browser).
  • +3 Implement a search bar with autocomplete for characters, planets, and vehicles. When the autocomplete is clicked it should take you to the detailed page of the element.

This and many other projects are built by students as part of the 4Geeks Academy Coding Bootcamp by Alejandro Sanchez and many other contributors. Find out more about our Full Stack Developer Course, and Data Science Bootcamp.

exercise-starwars-blog-reading-list-adrian-silva's People

Contributors

alesanchezr avatar elviraqdp avatar josemoracard avatar tommygonzaleza avatar lorenagubaira avatar gmihov001 avatar chavisam avatar mortegac avatar wotancode avatar javier-bustillo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.