Math Magicians! This is a website for all fans of mathematics. It is a Single Page App (SPA) that allows users to make basic calculations and read a random math-related quote.

Overview

Math Magicians

Math Magicians is the first React Project I'm building. The main objective of this is to understand React features with a project-based learning approach. This is using them directly

Preview PreviewMobile

Math Magicians! This is a website for all fans of mathematics. It is a Single Page App (SPA) that allows users to make basic calculations and read a random math-related quote.

Built With

  • HTML/CSS and JavaScript
  • React Framework
  • Visual Studio Code

Live Demo

Heroku Live Demo Link
Netlify Live Demo Link

Getting Started

To get a local copy up and running follow these simple example steps.

  • Clone this repository with git clonehttps://github.com/JohnFTitor/math_magicians.git using your terminal or command line.
  • Change to the project directory by entering :
    cd math_magicians in the terminal

Prerequisites

You need to make sure to have installed the latest version of Node.js and npm on your computer.

Setup

You can clone this repository or simply download the files as a .zip If you want to set up a personal repository based on this one, you can as well fork it.

Install

After clone it and before working on it, you have to run npm install so that all the dependencies of the project get downloaded in your pc locally. Such dependencies include React app and linters checks, for which you have to install the files following the wget commands inside linters.yml file.

Usage

You're free to use this project however you like it for educational purposes. Just keep in mind the acknowledgment described below

To work on the project, run npm start in your terminal to deploy a live version of the development. This works in watch mode so it automatically reloads any need change you make to the files.

Run linters checks

Linter Checks are automatically run with Github actions when there's a pull request. If you want to run them locally, remember to have the config file in the root of the local project.

Deployment

The deployment can be found in through any of the links provided above

Authors

πŸ‘€ AndrΓ©s Felipe Arroyave Naranjo

Acknowledgments

Here's a link to the API GitHub Repo from which I got the data for the quotes. Special thanks to the author!

Show your support

Give a ⭐️ if you like this project!

πŸ“ License

This project is MIT licensed.

Comments
  • Math Magicians V1.0.3

    Math Magicians V1.0.3

    Hi there πŸ‘‹πŸ»

    Thanks for taking the time to review the project. Here are some things important to note about it:

    Now into the project...

    Changes implemented in "dev" branch

    • βœ… Fix reloading error.
    • βœ… Add links to README.md

    Final notes

    Is expected that this project meets the requirements. Please let us know if anything is left to be done or can be improved. Again, thanks for the review.

    bug enhancement 
    opened by JohnFTitor 0
  • Documentation

    Documentation

    Hi there πŸ‘‹πŸ»

    Thanks for taking the time to review the project. Here are some things important to note about it:

    Now into the project...

    Changes implemented in "list-structure" branch

    • βœ… Add Links to live version in both Cloud Application Platforms.

    Final notes

    Is expected that this project meets the requirements. Please let us know if anything is left to be done or can be improved. Again, thanks for the review.

    opened by JohnFTitor 0
  • Math Magicians 1.0.2

    Math Magicians 1.0.2

    Hi there πŸ‘‹πŸ»

    Thanks for taking the time to review the project. Here are some things important to note about it:

    Now into the project...

    Changes implemented in "dev" branch

    • βœ… Add Netlify Deployment

    Final notes

    Is expected that this project meets the requirements. Please let us know if anything is left to be done or can be improved. Again, thanks for the review.

    opened by JohnFTitor 0
  • Add netlify deployment

    Add netlify deployment

    Hi there πŸ‘‹πŸ»

    Thanks for taking the time to review the project. Here are some things important to note about it:

    Now into the project...

    Changes implemented in "netlify" branch

    • βœ… Add Netlify files

    Final notes

    Is expected that this project meets the requirements. Please let us know if anything is left to be done or can be improved. Again, thanks for the review.

    enhancement 
    opened by JohnFTitor 0
  • Math Magicians V1.0.1

    Math Magicians V1.0.1

    Hi there πŸ‘‹πŸ»

    Thanks for taking the time to review the project

    Now into the project...

    Last Changes implemented in "dev" branch

    • βœ… Fix deployment issues as mentioned in #7.

    Final notes

    Is expected that this project meets the requirements. Please let us know if anything is left to be done or can be improved. Again, thanks for the review.

    opened by JohnFTitor 0
  • Heroku deploy

    Heroku deploy

    Hi there πŸ‘‹πŸ»

    Thanks for taking the time to review the project. Here are some things important to note about it:

    Now into the project...

    Changes implemented in "heroku-deploy" branch

    • βœ… Fix issues with deploying by adding node version, updating dependencies and removing eslintConfig

    Final notes

    Is expected that this project meets the requirements. Please let us know if anything is left to be done or can be improved. Again, thanks for the review.

    bug 
    opened by JohnFTitor 0
  • Math Magicians V1

    Math Magicians V1

    Hi there πŸ‘‹πŸ»

    Thanks for taking the time to review the project

    Now into the project...

    Changes implemented in "calculator-layout" branch

    • βœ… My code follows the style guidelines of this project.
    • βœ… Created Calculator component inside components folder.
    • βœ… Calculator component is class-based.
    • βœ… Create additional components for buttons.
    • βœ… Separate Styles in a different folder. Create styles files for different components.

    Changes implemented in "events" branch

    • βœ… Add provided files (calculate.js and operate.js) to a logic folder.
    • βœ… Add an event handler to the calculator buttons using lift state up to share the same calculator object info.
    • βœ… Create Display component to handle the data and display it in the calculator.
    • βœ… Fix dot bug.
    • βœ… Add a span that shows direct feedback of the operation being done and the total saved.

    Changes implemented in "refactor-hooks" branch

    • βœ… Change all components of the Calculator app from class-based to functional-based.
    • βœ… Use hooks to handle states in functional components.
    • βœ… Use ES6 syntax for function declaration.
    • βœ… Use lifting state up to update the Calculator object.

    Changes implemented in "navigation" branch

    • βœ… Created page components to hold different pages.
    • βœ… Used React Router to navigate between different pages following the SPA model.
    • βœ… Add styles through different CSS files.

    Final notes

    Is expected that this project meets the requirements. Please let us know if anything is left to be done or can be improved. Again, thanks for the review.

    enhancement 
    opened by JohnFTitor 0
  • Navigation

    Navigation

    Hi there πŸ‘‹πŸ»

    Thanks for taking the time to review the project. Here are some things important to note about it:

    Quotes API

    In order to display Mathematician quotes, the project retrieves data from an external API. Info about it can be found in the acknowledgment section of the README.md file

    Now into the project...

    Changes implemented in "navigation" branch

    • βœ… Created page components to hold different pages.
    • βœ… Used React Router to navigate between different pages following the SPA model.
    • βœ… Add styles through different CSS files.

    Final notes

    Is expected that this project meets the requirements. Please let us know if anything is left to be done or can be improved. Again, thanks for the review.

    enhancement 
    opened by JohnFTitor 0
  • Refactor hooks

    Refactor hooks

    Hi there πŸ‘‹πŸ»

    Thanks for taking the time to review the project.

    Now into the project...

    Changes implemented in "refactor-hooks" branch

    • βœ… Change all components of the Calculator app from class-based to functional-based.
    • βœ… Use hooks to handle states in functional components.
    • βœ… Use ES6 syntax for function declaration.
    • βœ… Use lifting state up to update the Calculator object.

    Final notes

    Is expected that this project meets the requirements. Please let us know if anything is left to be done or can be improved. Again, thanks for the review.

    enhancement 
    opened by JohnFTitor 0
  • Events

    Events

    Hi there πŸ‘‹πŸ»

    Thanks for taking the time to review the project. Here are some things important to note about it:

    Bug Fixing

    I manipulated the calculate.js file to fix a bug. When the dot button was pressed without any number or after an operation button, the decimal was not being added because of the logic implemented in the return statements. You can refer here for a more detailed description of the issue:

    https://github.com/microverseinc/curriculum-react-redux/issues/87

    Now into the project...

    Changes implemented in "events" branch

    • βœ… Add provided files (calculate.js and operate.js) to a logic folder.
    • βœ… Add an event handler to the calculator buttons using lift state up to share the same calculator object info.
    • βœ… Create Display component to handle the data and display it in the calculator.
    • βœ… Fix dot bug.
    • βœ… Add a span that shows direct feedback of the operation being done and the total saved.

    Final notes

    Is expected that this project meets the requirements. Please let us know if anything is left to be done or can be improved. Again, thanks for the review.

    enhancement 
    opened by JohnFTitor 0
  • Calculator layout

    Calculator layout

    Hi there πŸ‘‹πŸ»

    Thanks for taking the time to review the project

    Now into it...

    Changes implemented in "calculator-layout" branch

    • βœ… My code follows the style guidelines of this project.
    • βœ… Created Calculator component inside components folder.
    • βœ… Calculator component is class-based.
    • βœ… Create additional components for buttons.
    • βœ… Separate Styles in a different folder. Create styles files for different components.

    Final notes

    Is expected that this project meets the requirements. Please let us know if anything is left to be done or can be improved. Again, thanks for the review.

    enhancement 
    opened by JohnFTitor 0
Owner
AndrΓ©s Felipe Arroyave Naranjo
Full-Stack Developer | JavaScript lover | hobbyist writer. I like to take challenges to grow and I'm looking for a new job opportunity to test my skills!
AndrΓ©s Felipe Arroyave Naranjo
"Math magician is a website for all fans of mathematics. It is a Single Page Application(SPA) that allows users to make simple math calculations and read some math related quotes."

Math Magicians "Math magicians" is a website for all fans of mathematics. It is a Single Page App (SPA) that allows users to make simple calculations

Michael_Tamirie 3 Mar 29, 2022
"Math magicians" is a website for all fans of mathematics. You can Make simple calculations and Read a random math-related quote.

Math-Magicians This project was bootstrapped with Create React App. "Math magicians" is a website for all fans of mathematics. You can Make simple cal

Sentayhu berhanu 8 Jun 23, 2022
A Single Page App (SPA) that allows users to: make simple calculations and read a random math-related quote

Math magicians is a website for all fans of mathematics. It is a Single Page App (SPA) that allows users to: make simple calculations and read a random math-related quote.

Sahar Abdel Samad 13 May 31, 2022
"Math magicians" is a website for all fans of mathematics

Math magicians is a website for all fans of mathematics. It is a Single Page App (SPA) that allows users to: - Make simple calculations. - Read a random math-related quote. Built with React and pure CSS

Roberto Andres Condezo Monge 9 Mar 31, 2022
Math Magicians is a website for performing basic maths calculations, This website is built using REACT and JavaScript libraries.

Math Magicians Math Magicians is a website for performing basic maths calculations, This website is built using REACT and JavaScript libraries. Screen

Ranjeet Singh 12 Oct 20, 2022
This is a single page application that includes three pages; Home, Calculator and Quotes. You can do Math Calculations and read quotes.

Math magicians app This is a single page application that includes three pages; Home, Calculator and Quotes. You can do Math Calculations and read quo

Lynette Acholah 12 Jun 7, 2022
"BookStore" is a web app for adding books. It is a Single Page App (SPA) that allows users to add and remove a book from the library

BookStore | M3Wx "BookStore" is a web app for adding and removing books from a library storage. It is a Single Page App (SPA) that allows users to add

Alexander Oguzie-Ibeh 4 Apr 11, 2022
An application that has a frontend (user interface) that allows you to create, read, update or delete (CRUD) products using an API in which you can also create, read, update or delete products.

CRUD app with React and Firebase 9 An application that has a frontend (user interface) that allows you to create, read, update or delete (CRUD) produc

JΓΊlio Bem 3 Sep 28, 2021
Interactive web app where you can Store ,Add and Remove books to organize the books that you've read or the ones willing to read

bookStore Interactive web app where you can Store ,Add and Remove books to organize the books that you've read or the ones willing to read Built With

Yassine Omari 7 Jul 20, 2022
Web App to store a list of books (Title and Author) made as a single page app.

Awesome Books This project its an interactive list of books, you can add and remove items to the list. Built With HTML JS Getting Started In this proj

Alex Puente 7 Nov 9, 2022
This compress library was made with Brotli and Gzip help, for React users who want to make website more performance and reduce JS bundle code

React-compress This compress library was made with Brotli and Gzip help, for React users who want to make website more performance and reduce JS bundl

Koma Human 30 Jan 6, 2023
An eCommerce website that allows you to sign in and create an account and buy products and pay using PayPal and includes a dashboard that allows you to (add, update, and remove) a product...

An eCommerce website that allows you to sign in and create an account and buy products and pay using PayPal and includes a dashboard that allows you to (add, update, and remove) a product...

Mohamed Aachour 7 Oct 1, 2022
This is a calculator application. The user can do some calculations on this application.

Math Magicians This is a calculator application. The user can do some calculations on this application. Built with: Reactjs Redux Live Live demo deplo

Firdavs Allamurotov 4 May 15, 2022
Single Page Application built using React, Context API and OMDb API.

Movie Search App This project is a React application with functions to search for movies and add movies to favorites using OMDb API. Home Page Favorit

Efecan PΔ±nar 24 Sep 6, 2022
Single Page Application with React, React Router, PostCSS, Webpack, Docker and Docker Compose.

spa-store Single Page Application with React, React Router, PostCSS, Webpack, Docker and Docker Compose. Contributing Feedback Roadmap Releases Check

Luis Falcon 2 Jul 4, 2022
React app that allows users to compare and analyze the cost of living between cities around the world.

✨ LivingApp is a react app that allows users to compare and analyze the cost of living between cities around the world. ✨ Features ?? Simple: Bootstra

Ivan Kuznietsov 3 Feb 5, 2022
Space Traveler's Hub is a single page web application that fatches rockets, missions from the SpaceX API.

Space Traveler's Hub is a single page web application that fatches rockets, missions from the SpaceX API. Users can book and cancel their reservations for rockets and missions. Application has three pages Rockets/Missions/MY Profile, My Profile page shows the list of reserved rockets and missions.

Ranjeet Singh 14 Oct 20, 2022
A weather app done with React. Allows you to make a search for the current weather by simply typing "common knowledge" cities and save them to favourites on local storage.

Simpliest Weather React-App A weather app done with React. Allows you to make a search for the current weather by simply typing "common knowledge" cit

Larry Noriega 3 Aug 24, 2022