Skip to content

guarmo/coding-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

coding-challenge 🚀

GitHub repo size GitHub contributors GitHub stars Twitter Follow

Screenshot

Overview

This coding challenge consists of a single page web application that:

  • Fetches osm data of a location from Openstreetmap api, given with the coordinates as (geolocation box)
  • Has an integrated custom express server from which calls to the external API are performed
  • Converts the data into GeoJSON using Osmtogeojson
  • Flips latitude and longitude using Geojson-flip
  • Displays the dataset on a map using Leaflet and React-leaflet
  • Shares state across components using Redux
  • Uses Tailwindcss as a CSS framework
  • Is designed having in mind modularity & scalability; Follows the latest coding standards guidelines
  • Correctly performs data & error validation
  • Tests the correct rendering of the form components using testing-library-react
  • Hosts both front and back-end on Heroku
  • Has used Gitflow as a Git workflow

Checkout the demo

Technologies used

  • React v17.0.1
  • Redux v4.0.5
  • React-redux v7.2.2
  • Redux-thunk v2.3.0
  • Redux-devtools-extension v2.13.8
  • Tailwindcss v1.9.6
  • React-icons v4.2.0
  • Uuid: v8.3.2
  • Express v4.17.1
  • Axios v0.21.1
  • Leaflet v1.7.1
  • React-leaflet v3.1.0
  • Geojson-flip v1.0.0
  • Osmtogeojson v3.0.0-beta.4
  • Concurrently v6.0.2
  • Nodemon v2.0.7

Run locally 🛠️

To run the app locally, clone the repo and install the app using:

  $ git clone https://github.com/guarmo/coding-challenge.git
  $ cd coding-challenge
  $ cd client
  $ npm install
  $ cd ..
  $ npm install
  $ npm run dev

Your app should now be running on localhost:5000.

Unity testing 🛠️

To run the tests, after the installation run:

  $ cd client
  $ npm run test

Contributors 🎇

This project is designed and developed by Armando Guarino

Contributing

Thanks for your interest in contributing! There are many ways to contribute to this project. Find out how here.

Wishlist:

  • Improve GUI
  • Implement backend validation on routes
  • Add further Unity Testing

License

This project is open source and available under the MIT License.

Releases

No releases published

Packages

No packages published