Coder Social home page Coder Social logo

lausellv / cfmeetapp Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 6.99 MB

Serverless Progressive Web App (PWA) built using React that uses the Google Calendar API to fetch upcoming events.

Home Page: https://lausellv.github.io/CFmeetApp

HTML 10.24% CSS 9.53% JavaScript 77.28% Gherkin 2.95%
react javascript jest-tests enzyme-adapter-react-17 shallow-rendering single-page-app progressive-web-app oauth2

cfmeetapp's Introduction

CFmeetApp

Goal

To assemble a server-less, progressive web application (PWA) with React utilizing a test-driven development (TDD) procedure. The application utilizes the Google Calendar API to fetch events.

USER STORIES

Component 1: FILTER EVENTS BY CITY

As a client, I might want to have the option to search events by city so I can see the rundown of events that happen around there.


Situation 1: When client hasn't searched for a city, show upcoming events from all cities. Given client hasn't looked for any city, when the client opens the application, he should see a rundown of every single future event.

Situation 2: Client should see a list of suggestions when doing a city search. Given the principal page is open. When client begins composing in the city textbox Then the client should see a rundown of urban communities (ideas) that match what they've composed.

Situation 3: Client can select a city from the suggested list in the area or in the vicinity. When I client types in the name of a city, nearby cities should also come up as suggested locations.


Component 2: SHOW/HIDE AN EVENT'S DETAILS


As a client, I might want to have the option to show/conceal event specific information so I can see more/less data about an event at my will.


Situation 1: Event details can de fully displayed of hidden. When a user clicks on an event other events info is hidden while the event the client is looking at is fully displayed.

Situation 2: Client can learn more about an event and its details by clicking on it and expanding the info.

Situation 3: Clicking on an event allows the client to find out more details about it.


Component 3: SPECIFY NUMBER OF EVENTS / ELSE DEFAULT OPTION DISPLAYED


As a client, I would like to have the option to indicate the quantity of instances of events I would like to see. IOW decide if I want to go through list of X number of events.

Situation 1: If the client hasn't indicated a number, a default number of max event instances is provided.

Situation 2: A client can change the quantity of events they would like to see.


Component 4: USE THE APP WHEN OFFLINE


As a client, I might want to have the option to utilize the application when disconnected so I can see the events I saw the last time I was on the connected or so I can have access to my latest search even if there is no connectivity.


Situation 1: Client can use the application when disconnected or when he has no web connection. At this point the user can have access to cache data.

Situation 2: Show an error msg warning there is no connection it the client changes the settings (city, time range) when there is no internet connection.


Component 5: DATA VISUALIZATION


As a client, I might want to have the option to see a diagram showing the coming events in every city with the goal that I know what events correspond to which city.


Situation 1: Show a graph with the quantity of coming events in every city. Allow client to search for events in general. When client taps on a guide, show a diagram with the quantity of coming events in every city.

Stack, Dependencies, Environment, Hosting

Stack

  • React

Dependencies

"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"atatus-spa": "^4.3.2",
"axios": "^0.21.1",
"bootstrap": "^5.1.0",
"nprogress": "^0.2.0",
"react": "^17.0.2",
"react-bootstrap": "^2.0.0-beta.5",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"recharts": "^2.1.2",
"web-vitals": "^0.2.4",
"workbox-background-sync": "^5.1.4",
"workbox-broadcast-update": "^5.1.4",
"workbox-cacheable-response": "^5.1.4",
"workbox-core": "^5.1.4",
"workbox-expiration": "^5.1.4",
"workbox-google-analytics": "^5.1.4",
"workbox-navigation-preload": "^5.1.4",
"workbox-precaching": "^5.1.4",
"workbox-range-requests": "^5.1.4",
"workbox-routing": "^5.1.4",
"workbox-strategies": "^5.1.4",
"workbox-streams": "^5.1.4"

devDependencies

"@wojtekmaj/enzyme-adapter-react-17": "^0.6.3",
"enzyme": "^3.11.0",
"gh-pages": "^3.2.3",
"jest-cucumber": "^3.0.1",
"puppeteer": "^10.2.0"

Environment

VS Code v1.61.2 Extensions: ESLint: Ver v2.2.2:

  • npm v7.24.1
  • node v14.15.4

Hosting

https://lausellv.github.io/CFmeetApp

Project Status

This PWA(Progressive Web App) is complete!

cfmeetapp's People

Contributors

lausellv avatar

Stargazers

 avatar

Watchers

 avatar

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.