Finding Waves

November 27, 2022 · View on GitHub

Project Finding Waves

GitHub language count Repository size Made by eliezergarbin GitHub last commit License Stargazers

Run in Insomnia

Project   |    Technologies   |    How To Use   |    Documentation   |    How to contribute   |    License

Project

Surf forecast API that allows you to register the beaches you want, and classify which one is the most suitable for surfing in time.

The project was created with its Node.js, Typescript, React and MongoDB technologies, you can register on the beaches and after registering, the system will inform the scheduled time for each beach at certain times and also containing important information for surfing such as: wind direction, wind speed, wave speed, wave duration, wave height, swell direction and swell height. Finally, based on all this data, the classification of the best beaches ever registered for surfing will be delivered.

Example

Technologies

This project was developed with the following technologies:

How To Use

As stated above, this API uses MongoDB as it's database, and requires it to be running before starting the server. You can create a free database using MongoDB Atlas or run a local instance using MongoDB Compass. Your MongoDB instance will be running at localhost:27017.

To clone and run this application, you'll need Git, Node.js + Yarn and MongoDBCompass installed on your computer. Other than that you will need to have a stormglass private key, to get the forecasts requests. Go to stormglass website and register yourself to get your private key.

From your command line:

Install Back-end

# Clone this repository
$ git clone https://github.com/EliezerGarbin/FindingWaves.git

# Install dependencies
$ yarn install --frozen-lockfile

# Run Build
$ yarn build

# Start server local
$ yarn start:local

# running on port 3000

Install Front-end

# Clone this repository
$ git clone https://github.com/EliezerGarbin/FindingWaves.git

# Go into the repository
$ cd FindingWaves/web

# Run
$ yarn start

# running on port 3001

Run Tests

# Run unit test
$ yarn test:unit

# Run functional test
$ yarn test:functional

# Run all tests
$ yarn test

Documentation

The documentation uses the OpenAPI 3.0 standard. You can access the API documentation using the /docs endpoint after running the project.

How to contribute

  • Make a fork;
  • Create a branck with your feature: git checkout -b my-feature;
  • Commit changes: git commit -m 'feat: My new feature';
  • Make a push to your branch: git push origin my-feature.

After merging your receipt request to done, you can delete a branch from yours.

License

This project is under the MIT license. See the LICENSE for details.

Made with by Eliézer Garbin :wave: Get in touch!