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.
Christopher Vasankari | Jonas Wettergrund | Leo Stålenhag | Daniel Berkowicz | Ilyas Kaya | Robert Johnson
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.
- Framework: .NET 6.0.
- ASP.NET Minimal API.
- xUnit
- Built using Vite React.
- Styled with StyledComponents for CSS in JS approach.
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
git clone https://github.com/Chrisvasa/FoxWeatherApp.git
- Either launch the application through an IDE or build the project and then launch it using an EXE.
- 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 presso
or click the link that shows up.
The demo below shows how you can interact and retrieve weather data, favorite cities and remove favorites.
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
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. 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.