All Projects β†’ yassinedoghri β†’ marvel-jarvig

yassinedoghri / marvel-jarvig

Licence: MIT license
Marvel JARVIG (Just A Rather Very Interesting Game) is a game that lets you find and discover Marvel Comics characters based on their name, image and description!

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to marvel-jarvig

React Boilerplate Cra Template
πŸ”₯ Setup Create React App with React Boilerplate. Highly scalable & Best DX & Performance Focused & Best practices.
Stars: ✭ 859 (+6507.69%)
Mutual labels:  styled-components, redux-saga, create-react-app
coincharts
Cryptocurrency Price Chart (GDAX)
Stars: ✭ 75 (+476.92%)
Mutual labels:  styled-components, redux-saga, create-react-app
Reeakt
A modern React boilerplate to awesome web applications
Stars: ✭ 116 (+792.31%)
Mutual labels:  styled-components, redux-saga
React Next Boilerplate
πŸš€ A basis for reducing the configuration of your projects with nextJS, best development practices and popular libraries in the developer community.
Stars: ✭ 129 (+892.31%)
Mutual labels:  styled-components, redux-saga
inside-client
Human Resources Department Tool. https://ifactory-solutions.github.io/inside-client/
Stars: ✭ 42 (+223.08%)
Mutual labels:  redux-saga, create-react-app
Molecule
βš›οΈ – :atom: – βš›οΈ Boilerplate for cross platform web/native react apps with electron.
Stars: ✭ 95 (+630.77%)
Mutual labels:  styled-components, redux-saga
Road Beyond React App
🌈 The Road beyond React - Thing you can use after learning plain React.js
Stars: ✭ 108 (+730.77%)
Mutual labels:  styled-components, create-react-app
Arc
React starter kit based on Atomic Design
Stars: ✭ 2,780 (+21284.62%)
Mutual labels:  styled-components, redux-saga
Bank
🏦 Full Stack Web Application similar to financial software that is used in banking institutions | React.js and Node.js
Stars: ✭ 1,158 (+8807.69%)
Mutual labels:  styled-components, redux-saga
media-library
An online media library application with React, Redux and redux-saga
Stars: ✭ 27 (+107.69%)
Mutual labels:  redux-saga, create-react-app
webservices
Prestashop Web Services + React JS App
Stars: ✭ 34 (+161.54%)
Mutual labels:  redux-saga, create-react-app
ts-ui
Telar Social Network using Reactjs
Stars: ✭ 35 (+169.23%)
Mutual labels:  redux-saga, create-react-app
React Eyepetizer
reactη‰ˆγ€ŒEyepetizerγ€εΌ€ηœΌηŸ­θ§†ι’‘
Stars: ✭ 83 (+538.46%)
Mutual labels:  styled-components, redux-saga
React Hipstaplate
A ReactJS full-stack boilerplate based on typescript with ssr, custom apollo-server and huge stack of modern utilities which will help you to start your own project
Stars: ✭ 74 (+469.23%)
Mutual labels:  styled-components, redux-saga
Alpha
Craft your own web-based chatbot
Stars: ✭ 113 (+769.23%)
Mutual labels:  styled-components, redux-saga
React Redux Hooks Starter
React-redux boilerplate using hooks 🎣
Stars: ✭ 69 (+430.77%)
Mutual labels:  styled-components, redux-saga
React App Rewire Styled Components
Add the styled-components Babel plugin to your create-react-app app via react-app-rewired
Stars: ✭ 159 (+1123.08%)
Mutual labels:  styled-components, create-react-app
rocketshoes-react-native
NetShoes Clone with React Native and Redux
Stars: ✭ 38 (+192.31%)
Mutual labels:  styled-components, redux-saga
React Adventure
β›° React high-ending architecture & patterns ready for use. Made for big and small projects. PWA Ready.
Stars: ✭ 62 (+376.92%)
Mutual labels:  styled-components, redux-saga
react-redux-hackernews
React Redux Hackernews Application
Stars: ✭ 19 (+46.15%)
Mutual labels:  redux-saga, create-react-app
Marvel JARVIG logo: the letter J in the center of a dynamic background in the style of a comics.

Marvel JARVIG

Marvel JARVIG (Just A Rather Very Interesting Game) is a game that lets you find and discover Marvel Comics characters based on their name, image and description!

deploy-badge test-suite-badge maintainability-badge test-coverage-badge license-badge stars-badge


For that, the player answers a set of questions regarding the Marvel Universe to determine if he truly knows every character.

Moreover, the game is fully customizable: the player can choose the level of complexity by tweaking some parameters (Newbie, Intermediate, Master, or Custom).

React + Redux + Styled-Components

Marvel JARVIG was built using React, it calls the Marvel Comics API to fetch Marvel Characters data. The app then generates questions using that data and displays them to the player.

The architecture of the project follows Redux to manage the state of the app.

The User Interface is built using styled-components.

This project was bootstrapped with Create React App.

Setting up the development environment

  1. Install Node.js & yarn

  2. Install the project dependencies using yarn:

    yarn
  3. ⚠️ Create a config file using the sample file src/config/index.js.dist.

Remove the .dist extension and replace the Marvel API public and private keys with your own. You can get the those keys on the Marvel developer portal

Run the game

yarn start

βœ”οΈ You're all set! You can now view Marvel JARVIG on http://localhost:3000.

Code structure

.
β”œβ”€β”€ public/             # static public files
β”‚  └── index.html
β”œβ”€β”€ src/                # source files
β”‚  β”œβ”€β”€ actions/         # redux action creators files
β”‚  β”‚  β”œβ”€β”€ __tests__/    # test directory (should be in every folder)
β”‚  β”‚  ...
β”‚  β”œβ”€β”€ components/      # UI styled-components
β”‚  β”œβ”€β”€ config/          # config files
β”‚  β”œβ”€β”€ constants/       # constants (eg. actionType names, routes)
β”‚  β”œβ”€β”€ containers/      # game containers
β”‚  β”‚  β”œβ”€β”€ HomeScreen/
β”‚  β”‚  β”œβ”€β”€ PlayScreen/
β”‚  β”‚  β”œβ”€β”€ ResultScreen/
β”‚  β”‚  β”œβ”€β”€ App.js        # higher-order component
β”‚  β”‚  ...
β”‚  β”œβ”€β”€ reducers/        # redux reducers
β”‚  β”œβ”€β”€ utils/           # utility files (eg. helpers.js, style utils, etc.)
β”‚  β”œβ”€β”€ index.js         # main entry point for react app
β”‚  └── theme.js         # theme file (colors, font size, ...)
β”œβ”€β”€ .env
β”œβ”€β”€ .eslintrc.js        # eslint config file
β”œβ”€β”€ .gitignore          # control file for git
β”œβ”€β”€ gitlab.ci           # config file for gitlab ci
└── package.json        # meta data and list of project dependencies

Testing

This project uses Jest to test units of code and react components.

Test files have a .test.js suffix or .js suffix in __tests__ folder.

Run tests in interactive mode:

yarn test

You will be able to visualise tests and update snapshots. Read more about tests

Build for production

Build the app for production to the build folder:

yarn build

Contributing

Love Marvel JARVIG and would like to help? Check out the contribution guidelines for this project, everything should be there!

Versioning

Marvel JARVIG is maintained under the Semantic Versioning guidelines.

Creator

This project was created for learning purposes, using best practices and experimenting on latest web technologies.

Yassine Doghri

Copyright and licence

Code and documentation copyright 2018, Yassine Doghri. Code released under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].