Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/richardcyrus/fm-tip-calculator-app

This is a solution to the Tip calculator app challenge on Frontend Mentor.
https://github.com/richardcyrus/fm-tip-calculator-app

css frontendmentor frontendmentor-challenge reactjs vitejs vitest

Last synced: about 1 month ago
JSON representation

This is a solution to the Tip calculator app challenge on Frontend Mentor.

Awesome Lists containing this project

README

        

# Frontend Mentor - Tip calculator app solution

This is a solution to the [Tip calculator app challenge on Frontend Mentor](https://www.frontendmentor.io/challenges/tip-calculator-app-ugJNGbJUX). Frontend Mentor challenges help you improve your coding skills by building realistic projects.

## Table of contents

- [Frontend Mentor - Tip calculator app solution](#frontend-mentor---tip-calculator-app-solution)
- [Table of contents](#table-of-contents)
- [Overview](#overview)
- [The challenge](#the-challenge)
- [Screenshots](#screenshots)
- [Mobile Screenshot](#mobile-screenshot)
- [Tablet Screenshot](#tablet-screenshot)
- [Desktop Screenshot](#desktop-screenshot)
- [Links](#links)
- [My process](#my-process)
- [Built with](#built-with)
- [Continued development](#continued-development)
- [Useful resources](#useful-resources)
- [Author](#author)

## Overview

### The challenge

Users should be able to:

- View the optimal layout for the app depending on their device's screen size
- See hover states for all interactive elements on the page
- Calculate the correct tip and total cost of the bill per person

### Screenshots

#### Mobile Screenshot

Mobile

#### Tablet Screenshot

Tablet

#### Desktop Screenshot

Desktop

### Links

- [Solution URL](https://www.frontendmentor.io/solutions/tip-calculator-app-YfNBa9OmFk)
- [Live Site URL](http://www.richardcyrus.com/fm-tip-calculator-app/)

## My process

I built the app as a single HTML/JSX page then added the interactivity with React.

### Built with

- Semantic HTML5 markup
- CSS custom properties
- Flexbox
- CSS Grid
- Mobile-first workflow
- [React](https://reactjs.org/) - JS library
- [Vite](https://vitejs.dev/) - Next Generation Frontend Tooling
- [Vitest](https://vitest.dev/) - Next Generation Testing Framework

### Continued development

- Refactor the React application into smaller components to compose the larger application.

### Useful resources

- [CSS Button Styling Guide](https://moderncss.dev/css-button-styling-guide/)
- [Custom CSS Styles for Form Inputs and Textareas](https://moderncss.dev/custom-css-styles-for-form-inputs-and-textareas/)
- [Inclusively Hidden](https://css-tricks.com/inclusively-hidden/)
- [Customize Radio Button Appearance with CSS](https://www.markheath.net/post/customize-radio-button-css)
- [Pure CSS Custom Styled Radio Buttons](https://moderncss.dev/pure-css-custom-styled-radio-buttons/)

## Author

- Website - [Richard Cyrus](https://www.richardcyrus.com)
- Frontend Mentor - [@richardcyrus](https://www.frontendmentor.io/profile/richardcyrus)