Skip to content

HETIC-MT-P2021/weather-app-ios-group-1

Repository files navigation

🌦 Weathapp

This weather app is one of best free weather apps. Its so easy to receive the weather conditions in your current location. Realtime temperature, humidity, pressure and wind direction are all in the weather app based.

🔗 Requirements

  • Swift: v5.5
  • Swiftlint: 0.43.1
  • Swiftformat: 0.48.1

🔥 Setup

The following make commands are available :

command description
make setup Setup the whole project by adding githooks and installing pod dependencies. (Notice: This won't install the requirements specified above)
make lint Perform a lint stage using swiftlint.yml.
make lint-fix Automatically fix linting issues.
make swiftformat Automatically format files.

👥 Contributing

We follow a code of conduct, if you wish to contribute on this project, we strongly advise you to read it.

Branch naming convention
  • You branch should have a name that reflects it's purpose.

  • It should use the same guidelines as COMMIT_CONVENTIONS (feat, fix, build, perf, docs), followed by an underscore (_) and a very quick summary of the subject in [kebab case][1].

    Example: feat_add-image-tag-database-relation.

Pull requests and commits

Pull requests in this project follow two conventions, you will need to use the templates available in the ISSUE_TEMPLATE folder

If your pull request is still work in progress, please add "WIP: " (Work In Progress) in front of the title, therefor you inform the maintainers that your work is not done, and we can't merge it.

The naming of the PR should follow the same rules as the COMMIT_CONVENTIONS

🌈 Features

  • Fetch Weather depending on your current location
  • Search Cities with autocompletion
  • Fetch Weather depending on the selected city.

👨‍💻 Development mode

  1. Most of the time a ticket is assigned ,on the project board, to a team member. If it is not the case and you are told to do it yourself, assign the github ticket to you.
  2. When you start working on the ticket, move the concerned ticket to In Progress.
  3. Create a branch specifically for this ticket with a name that follows the conventions specified below.
  4. Commit regularly at each significant step with unambiguous commit messages (see COMMIT_CONVENTIONS file).
  5. Create a merge request that follows the conventions specified below to the develop branch.
  6. On the project board, move the ticket to the status In Review
  7. Request a review from another team member.
  8. It may take some back and forth before your pull request is validated
  9. Your pull request will then be merged into the develop branch and the concerned ticket will be moved to Done

🎮 Technical Choices

🪝 Git Hooks

Git hooks are placed in .git/hooks. The only existing hook for now is a pre-commit hook that will run swiftLint & swiftformat command.

🛠 Continuous Integration (CI)

A CI pipeline is configured for this project.

The pipeline will run 4 different jobs:

  • Dependencies check
  • Linter
  • Build
  • Tests

🔬 Linter

🏄‍♂️ Authors


Meriem MRABENT

Jean-Jacques AKAKPO

Fayçal TOURÉ

Jacques MAAREK