GithubHelp home page GithubHelp logo

antonv0 / flashcards Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 311 KB

Project #57 of Codecademy's Full Stack Engineer Career Path

Home Page: https://flashcards-antonv0.netlify.app/

License: MIT License

CSS 14.06% HTML 7.64% JavaScript 78.30%
action-reducers complex-state configurestore createslice dispatch-actions initialstate javascript react redux redux-devtools-extension redux-toolkit thunk-middleware uuidv4 quiz-creator

flashcards's Introduction

Flashcards

Project #57 from Codecademy's Full Stack Engineer Career Path

By Anton Vlasenko (AntonV0)

Project Outline

Flashcards is a React application that allows users to design any quiz they like. Users begin by adding their preferred topics, choosing from a selection of icons for each topic. Users can then design their own quiz for any of those topics, adding as many cards with front text (the question) and back text (the answer) as they wish. Completed quizzes and can be accessed in the "Quizzes" section of the webpage. Clicking any question reveals its answer.

This project uses Redux and the Redux Toolkit to manage complex state. The main objective was to create three separate slices of state - one for the quiz topics, one for the quiz itself, and one for the question/answer cards within the quiz. These slices were then connected to other files in the app, which includes all components (NewQuizForm, NewTopicForm, Card, Quiz, Quizzes, Topic, and Topics), as well as the Redux store.

What I Learned

  • How to create and connect complex slices of state
  • Intermediate Redux logic with configureStore, createSlice, setting initialState, adding reducers for actions, asynchronous thunks, dispatching actions
  • Importing and exporting selectors, actions, and reducers
  • Dispatching actions and thunks within event handlers
  • Using the uuidv4() function from the uuid package to create unique identifiers
  • Using Redux DevTools to inspect payload status and action, and Chrome DevTools for general debugging

Please note that in most cases, in each project, the first or second commit is the starter code provided by Codecademy.

flashcards's People

Contributors

antonv0 avatar

Stargazers

 avatar

Watchers

 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.