Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/andresdmdev/dictionary-app

Dictionary App
https://github.com/andresdmdev/dictionary-app

html5 javascript jest reactjs typescript

Last synced: 6 days ago
JSON representation

Dictionary App

Awesome Lists containing this project

README

        

# Interactive dictionary app

This is a solution to the [Dictionary web app challenge on Frontend Mentor](https://www.frontendmentor.io/challenges/dictionary-web-app-h5wwnyuKFL). 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)

## Overview

### The challenge

Users should be able to:

- Search for words using the input field
- See the Free Dictionary API's response for the searched word
- See a form validation message when trying to submit a blank form
- Play the audio file for a word when it's available
- Switch between serif, sans serif, and monospace fonts
- Switch between light and dark themes
- View the optimal layout for the interface depending on their device's screen size
- See hover and focus states for all interactive elements on the page

### Screenshot

![](https://res.cloudinary.com/dp3chx1yj/image/upload/v1688935824/dictonary-api/iPhone_SE-1688935812348_akbver.jpg)
![](https://res.cloudinary.com/dp3chx1yj/image/upload/v1688935619/dictonary-api/iPhone_SE-1688935574764_enbrkx.jpg)
![](https://res.cloudinary.com/dp3chx1yj/image/upload/v1688935619/dictonary-api/iPhone_SE-1688935585346_znk19c.jpg)
![](https://res.cloudinary.com/dp3chx1yj/image/upload/v1688935992/dictonary-api/desktop1_x28buk.png)
![](https://res.cloudinary.com/dp3chx1yj/image/upload/v1688935992/dictonary-api/desktop2_xqv7tg.png)

### Links

- Live Site URL: [Project - Dictionary](https://andresmfdev.github.io/dictionary-app/)

## My process

### Built with

- Mobile-first workflow
- React - JS library
- TypeScript
- SaSS - for styles
- Semantic HTML5 markup
- Flexbox
- React Testing Library
- Jest
- Vite

### What I learned

I got in deep my SaSS skills for styles and implementing theme colors. Besides, I implemented a menu font option where the user can switch the font family of the entire project.

### Continued development

I'm going to focus my new learning path on use a React Framework, like Next.js or Remix.js, preparing me for the real situations tha I'll have. Also, I'd like to get in deep on unit testing, use other options like Cypress or Vitest.