jessicauk / graphql-test

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project

Simple application that lists posts from https://graphqlzero.almansi.me/.

All operations of this app are only the ones supported by this API.

Context

You are now in charge of the project and there is no other developer. All the documentation there is for this project is this file. Unfortunately, you can't contact the previous team as they are in a sabbatical, though you have full ownwership and can make any change you want. You are in charge now. Feel free to use any library you want, make any change in the code, delete, create... It is your project now.

Tasks

Product Owner has requested some tasks, and after some technical grooming they map to the following:

  • Display all posts in by id DESC.
  • Only list 10 items in total
  • Implement the logic for the different buttons. New elements use <NewPostItem />. New posts are shown on top of the list.
  • Write the necessary tests to ensure new changes don't break the current logic, and tests for the new logic you add.

From the technical side we want to:

  • Fix warnings in the code, linter and types
  • Write a technical description of the approach taken to implement the changes, why this approach has been taken, and how it can be further improved to allow more changes in a scalable way.
  • Write a technical and detailed description on what is in your opinion the best strategy to allow the app to run in environments with shaky internet connection (slow connection, intermittent connection, no connection...).

NOTE: In case you run out of time or your solution becomes too ambitious, just write in plain English about your solution and how you would make it happen.

Deliverables:

  • Link to a Git repository (set to public or invite @ainformatico)

Development

Technical stack

To run your development environment:

yarn dev

To run the linter:

yarn lint
yarn test
yarn compile

How to run the project

This repository is configured with devcontainer.json, this makes it easier to run it in an isolated environment, directly from GitHub or directly on your machine. It is up to you how you want to run it.

GitHub Codespaces

All GitHub personal accounts come with up to 120 minutes for free. More info.

Feel free to just Start a Codespace directly from Github, so no need to install anything.

DevPod

DevPod, select the repo and start your workspace

About


Languages

Language:TypeScript 74.7%Language:JavaScript 19.9%Language:HTML 4.5%Language:CSS 0.9%