Git Product home page Git Product logo

firenz / chuck-norris-facts Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 858 KB

Funny pet SPA project developed in React that gets you random facts about Chuck Norris :fist:

Home Page: https://firenz.github.io/chuck-norris-facts/

License: MIT License

JavaScript 6.11% TypeScript 93.38% HTML 0.51%
chuck-norris funny github-actions github-pages jest pet-project polished react react-hooks react-query styled-components typescript webpack

chuck-norris-facts's Introduction

Hi, I'm Alicia ๐Ÿ‘‹

A disabled software engineer ๐Ÿ‘ฉโ€๐Ÿฆผ living in south Spain. โ˜€๏ธ Currently working as a fullstack developer on a 100% remote friendly company that supports open source sustainability. ๐Ÿ™Œ Previously worked on game development as a 2D generic/pixel artist, ๐Ÿ–Œ๏ธ and mostly C# & unity programmer in indie games. ๐ŸŽฎ I'm a huge nerd/geek, Pokemon TCG player, and D&D5 DM. ๐Ÿค“

๐Ÿ’• My values

๐Ÿ’– Safety and trust
๐ŸŒŸ Expression as authentic self
๐Ÿ Beginner's mindset and curiosity
๐Ÿ™Œ Shared norms
๐Ÿš€ Elevate the underrepresented

๐Ÿ› ๏ธ Skills

Languages

typescript javascript csharp cplusplus

Front-End Development

react material-ui styled-components webpack html css sass

Database

graphql mysql

Testing

jest

Game Development

unity

Others

git bash github-actions markdown latex

๐ŸŒฑ Iโ€™m currently learning ...

jest docker amazon-aws terraform

๐Ÿ–ฅ๏ธ Workspace Setup

i7-2th-gen gtx-1060 ubuntu windows vs-code

๐Ÿ“ซ How to reach me

codepen linkedin dev.to github gmail

chuck-norris-facts's People

Contributors

firenz avatar

Watchers

 avatar  avatar  avatar

chuck-norris-facts's Issues

Update README

When finished the development of the project, update README with:

  • How to download and use the project
  • Badge with Travis CI state
  • Development environment
  • Languages and technologies used

Refactorization

The current folder organization that I have in the project is based on the recommended one that Z1 Digital gave me.

But it ended being kind of like a mess, and before approaching the testing issue #4, I've decided to refactor and reorganize the current folder structure to a new one.

The new one would follow the domain folder structure, how it works is explained very thoroughly in this article with other structures that are also used. However, instead of naming the folder domains, I'll call it 'pods' since its the original name used for this folder when they were first used in EmberJS. Here is an article and another article talking about them.

Maybe it can bee too much of a hassle for a small React project, but in this case, we're looking to do as a React project that could escalate into a big one.

Also, following the reorganization of the folder structure, some minor fixes, formatting, and refactoring will be done. So in the case of future enhancements made in the project, the refactorization would be minimal.

Update basic gitignore template

Though GitHub has plenty of gitignore templates, and I always use the Node gitignore template as a base, I like to make it more complete by using gitignore.io.

Usually using the Node + VSCode + Windows + macOS + Linux to generate it. This way is almost failsafe in case unintended files end uploaded in the repository folder.

Later, maybe the need to add more custom rules of the gitignore will appear. In that case, I will reopen this issue to add a comment with the changes added.

Project structure and hierarchy

Make the necessary folders structure and several key empty files to have for a React project to be started. This way, from the beginning of the development of this project, everything will be more organized.

Though some renaming of reorganizing can be necessary for the future, most of the code will not change in structure.

Basic functionality

Before adding the API and persistence functionality, the project needs other functionalities such as:

  • a button that invokes a menu
  • inside that menu, there are buttons to chose which kind of fact you want to generate
  • when a button menu is pressed, a new text box appears on the main page
  • another button that clears all text boxes in the main page

So this issue is mainly for making the menu functionality.

Enhance UI/UX

Now the web project is totally working, refactorized, and only needs testing to be done (as said in issue #4 ) to be marked as finished.

However, the UI is pretty basic and the UX has some issues. Thus the decision of enhancing more the UI and UX.

API

Need to make hooks that fetch the data from the API for:

  • Categories
  • Get a random fact from a selected category.

The fetching will be done by using React Query.

Code coverage

Add code coverage with JesterJS to the project, since is the one that I learned to use more.

Basic web layout

Create some basic layout for the web. I'll try to make it responsive, but functionality goes first.

Some graphics or icons may be needed, in that case I'll use some open-source library for them.

Basic config files

Basic config files for:

  • Node
  • Webpack
  • Typescript
  • ESLint/Prettier
  • CI with Travis

Persistence

The state of the web must be persistent when refreshing the browser. I need to investigate how to aboard this subject, but I think I'll end using LocalStorage for this project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.