The proposal of this repository is having a scaffold with some scenarios where you can challenge your front-end knowledge.

Overview

Frontend Kata / Interview

👋 Hello developer! The proposal of this repository is having a scaffold with some scenarios where you can challenge your front-end knowledge.

At the application you will find different folders with different elements:

  • __builders: Here you can find some helpers for building your models
  • api: You can place your api calls here. Don't worry about the use of fetch or axios, we have a http abstraction for it.
  • components: The atoms and particles of the application are here. All elements here should be representational components.
  • context: The application use two contexts. AuthProvider will handle the auth at the application, and DataProvider is a wrapper to libraries like SWR or react-query.
  • hooks: The current existing hooks work as access layer to our operations. useAuth will help us with the auth process hiding the implementation. useData and useDataMutation will hide the implementation of our data querying system (cache).
  • models: At this folder are place the data structures that our core application use.
  • pages: The pages are the main routes of the application. All of them are working as containers of our representational components.

In order to simplify the component implementations we are using MUI

To have some backend for consume by api, we are using json-server.

Testing is so important for us, so every component has a test at the same folder. Of course some of them doesn't have it yet, because we expect to do it together.

💡 About the example

This example represent an application for handling a bus system. You can reach some endpoints for retrieving buses, brands and the status of those services.

For accessing to the dashboard you must be logged in, you can find the credentials at /config.ts.

👀 Some activities that you can do

It's up to you to implement whatever you want at the application, however here we will have some proposals for practicing:

  • Add error state to the AuthState and to the Login.
  • Create some Profile page and extend the current AuthState.
  • Implement the Logout at header.
  • Extract the conditions for authentication to a domain.
  • Implement the view where you will see all the buses.
  • Connect the Create Bus page with api, validating the form.
  • Keep the AuthState also when you close and open the browser.

🚧 Some smells have been introduced at the application, so is up to you to remark it in some way or refactor if you consider it.

Remember, this is a Kata and the most important thing is to learn and have fun! 🎉

🚀 Turn up Json-server

For starting up the API, you must use docker-compose up. It will deploy the API at http://localhost:3001. If you decide to change the port at docker, remember to change the ./config.ts in order to point to the correct API instead.

⚠️ Relevant Scripts

This project was bootstrapped with Create React App.

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

npm test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

Learn More

You can learn more in the Create React App documentation. To learn React, check out the React documentation.

You might also like...

Proposal(s) for a stable Deno FFI API

Proposal(s) for a stable API for Deno FFI In this repository I propose a possible stable APIs for Deno FFI. The proposals are split into folders by to

Dec 5, 2022

Prototype of real-time comments and a proposal of how to make it "production-ready".

Prototype of real-time comments and a proposal of how to make it

Real-time comments prototype Simple demonstration of real-time commenting. Installation After forking it, run npm install, then you need two environme

Jan 16, 2022

Nouns On-Chain Proposal Simulation and Analysis

Nouns Diligence Nouns On-Chain Proposal Simulation and Analysis For Voters Technical reports for all reviewed proposals can be found in the reports fo

Dec 26, 2022

Personal Blog - a project developed with Angular for the front-end interface and Wordpress for the back-end API served with Docker containers

Personal Blog - a project developed with Angular for the front-end interface and Wordpress for the back-end API served with Docker containers

PersonalBlog This project was generated with Angular CLI version 13.0.1. Front-end Interface Development server Run ng serve or ng serve --configurati

Oct 5, 2022

Pass trust from a front-end Algorand WalletConnect session, to a back-end web service

AlgoAuth Authenticate to a website using only your Algorand wallet Pass trust from a front-end Algorand WalletConnect session, to a back-end web servi

Dec 15, 2022

Web-Technology with Aj Zero Coding. In this tutorial we learn front-end and back-end development.

Installation through NPM: The jQWidgets framework is available as NPM package: jQuery, Javascript, Angular, Vue, React, Web Components: https://www

Nov 19, 2022

JSON Visio is data visualization tool for your json data which seamlessly illustrates your data on graphs without having to restructure anything, paste directly or import file.

JSON Visio is data visualization tool for your json data which seamlessly illustrates your data on graphs without having to restructure anything, paste directly or import file.

JSON Visio is data visualization tool for your json data which seamlessly illustrates your data on graphs without having to restructure anything, paste directly or import file.

Jan 4, 2023

A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore.

A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore.

Front-end Developer Interview Questions This repository contains a number of front-end interview questions that can be used when vetting potential can

Jan 4, 2023
Owner
Adrián Ferrera González
Full Stack Developer at @lean-mind | Typescripter | Crafter | Speaker |
Adrián Ferrera González
scaffold-stark is a forkable StarkNet dev stack focused on fast product iterations, inspired by scaffold-eth.

?? scaffold-stark scaffold-stark is a forkable StarkNet dev stack focused on fast product iterations, inspired by scaffold-eth. Drop in your Cairo sma

parketh 25 Oct 7, 2022
It consists of a recreation of Twitter, to put into practice both Front-end and Back-end knowledge by implementing the MERN Stack together with other technologies to add more value to the project.

Twitter-Clone_Back-end ✨ Demo. ?? About the project. ?? Descriptions. It consists of a recreation of Twitter, to put into practice knowledge of both F

Mario Quirós Luna 5 Apr 12, 2022
It consists of a recreation of Twitter, to put into practice knowledge of both Front-end and Back-end implementing the MERN Stack along with other technologies to add more value to the project.

Twitter-Clone_Front-end ✨ Demo. Login Home Profile Message Notifications Deployed in: https://twitter-clone-front-end.vercel.app/ ?? About the project

Mario Quirós Luna 5 Jun 26, 2022
📈 This project was developed for the XP Inc front-end technical challenge

Desafio técnico PSel - Turma XP ?? Esse projeto tem como objetivo desenvolver um aplicativo de investimento em ações, com algumas funcionalidades de c

Rafael França 9 Aug 11, 2022
Hot-challenge-solving application for any coding challenge services.

✔️ Solv Hot-challenge-solving application for any coding challenge services. Introduction Solv [sɑːlv] is a cli application for solving coding challen

Sophia 8 Dec 13, 2022
fardin 8 Oct 18, 2022
Manage Voximplant Platform `applications`, `rules` and `scenarios` from your own environment

VOXENGINE-CI Manage Voximplant Platform applications, rules, and scenarios from your own environment using @voximplant/apiclient-nodejs under the hood

Voximplant 21 May 6, 2022
Statistics plugin for RemNote that will give you some helpful numbers, charts and heatmap for your knowledge base.

RemNote statistics plugin Features This plugin will give you the following statistics: Retention rate Number of cards due in future Type of buttons yo

Henrik 3 Sep 9, 2022
A simple react project that contain a single page application (SPA) And a simple caculator to make some calculation and there is a section you can see some Math quotes. Ⓜ💯

A simple react project that contain a single page application (SPA) And a simple caculator to make some calculation and there is a section you can see some Math quotes. Ⓜ??

Reem janina 7 May 31, 2022
The high efficent browser driver on top of puppeteer, ready for production scenarios.

browserless is an efficient driver for controlling headless browsers built on top of puppeteer developed for scenarios where performance matters. High

microlink.io 1.2k Jan 6, 2023