Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/florianstancioiu/crowdfunding-product-page

My React solution for the "Crowdfunding Product Page" challenge from frontendmentor.io
https://github.com/florianstancioiu/crowdfunding-product-page

react redux-toolkit storybook vite

Last synced: 21 days ago
JSON representation

My React solution for the "Crowdfunding Product Page" challenge from frontendmentor.io

Awesome Lists containing this project

README

        

# Frontend Mentor - Crowdfunding product page solution

This is a solution to the [Crowdfunding product page challenge on Frontend Mentor](https://www.frontendmentor.io/challenges/crowdfunding-product-page-7uvcZe7ZR). Frontend Mentor challenges help you improve your coding skills by building realistic projects.

## Table of contents

- [Overview](#overview)
- [The challenge](#the-challenge)
- [Screenshot](#screenshot)
- [Links](#links)
- [My process](#my-process)
- [Built with](#built-with)
- [What I learned](#what-i-learned)
- [Continued development](#continued-development)
- [Author](#author)

## Overview

### The challenge

Users should be able to:

- View the optimal layout depending on their device's screen size
- See hover states for interactive elements
- Make a selection of which pledge to make
- Toggle whether or not the product is bookmarked

### Screenshot

![](./public/images/page-screenshot.png)

### Links

- Solution URL: [Crowdfunding product page using React and Storybook](https://www.frontendmentor.io/solutions/crowdfunding-product-page-using-react-and-storybook-W_P2tabJj9)
- Live Site URL: [https://florianstancioiu.github.io/crowdfunding-product-page](https://florianstancioiu.github.io/crowdfunding-product-page)
- Storybook URL: [https://66a886300fecfdf698038a7c-yxaikccgug.chromatic.com](https://66a886300fecfdf698038a7c-yxaikccgug.chromatic.com)

## My process

### Built with

- [Custom CSS Reset](https://www.joshwcomeau.com/css/custom-css-reset/)
- CSS custom properties
- Flexbox
- CSS Grid
- Mobile-first workflow
- [React](https://reactjs.org/) - JS library
- [Vite](https://vitejs.dev/) - Next generation frontend tooling
- [Storybook](https://storybook.js.org/) - Frontend workshop for building UI components and pages in isolation

### What I learned

There's not much I learned while developing the solution for this challenge, it's just that I had to remind myself some stuff I forgot, that's all.

Actually, no, I did learn one thing, and that is, if you use any type of JSX inside one of the `.stories.js` file you have to rename that file to `.stories.jsx` otherwise _there will be a dynamic import error_.

### Continued development

I would've liked to convert the project to typescript, then I would've had a lot of things to learn and also remind myself. However, I read on a github thread that converting an existing Vite project to TS is a bit of a hassle, not impossible, just a bit of a nuissance, so I decided against it.

## Author

- Frontend Mentor - [@florianstancioiu](https://www.frontendmentor.io/profile/florianstancioiu)