Skip to content

Weather API project that involves TDD and a CI/CD pipeline

Notifications You must be signed in to change notification settings

Chrisvasa/FoxWeatherApp

Repository files navigation

Weather API

In this project we worked as an agile team using a scrumboard with daily standups to better plan and cooperate. The main priority of this project was to work in a way that fits test-driven development standards and to use a CI/CD pipeline to test and deploy our work in a more fluid way. We also heavily used branches for all the different features we developed, and had code-reviews with at least two of the team members per pull request.

Team

Christopher Vasankari | Jonas Wettergrund | Leo Stålenhag | Daniel Berkowicz | Ilyas Kaya | Robert Johnson

The application

We built an API with different endpoints to either get weather data about different cities, healthchecking and to see how many calls have been made since the API first started.

Tech stack

💻 Backend

C# .NET xUnit

  • Framework: .NET 6.0.
  • ASP.NET Minimal API.
  • xUnit

🎨 Frontend

React JS SC ESLint

  • Built using Vite React.
  • Styled with StyledComponents for CSS in JS approach.

Getting started

Prerequisities

You need to have .NET installed on your computer, which can be found here. Other than that you also need to make sure you have installed npm. npm install npm@latest -g

Installation

  1. git clone https://github.com/Chrisvasa/FoxWeatherApp.git
  2. Either launch the application through an IDE or build the project and then launch it using an EXE.
  3. To further interact with the API you can open the WeatherAppReactClient folder in VSCode and type the following commands which should be enough to get you started. npm i npm run dev Then either press o or click the link that shows up.

Usage

The demo below shows how you can interact and retrieve weather data, favorite cities and remove favorites. PageDemo

CI/CD Pipeline

We used a simplified version of a CI/CD pipeline and this was setup with a git post-receive script using bash. And after checking if all the tests passed then the API was deployed on the linux server.

We also added this branch to our repo so that we were able to push our changes once we merged our branches with main. git remote add deploy ssh://Servername:Port/home/fox/bare-FoxWeatherApp.git

How we worked as a team

As noted at the start of the readme, we worked by following some simple scrum methodics such as a scrumboard, sprints, daily standups, code reviews and pair programming. PullRequest These type of reviews made it much easier to make any needed changes on new features being added to the program. And by using these methods we greatly increased our efficiency and and people had an easier time to know what they were supposed to work on.

External links

Scrumboard

About

Weather API project that involves TDD and a CI/CD pipeline

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published