/climo

🌀️ Stay ahead of the weather!

Primary LanguageTypeScript

Welcome to climo 🌦️

Β‘Overview daily and week weather, perfect for planning your day!

How to install

*NOTE: Be sure that you have Node v 22.6.0 or higher

1. Clone Repo

☁️ HHTPS ☁️ SSH

2. Install dependencies using yarn

$ yarn install

3. Execute

$ yarn dev

4. Add the .env file

*NOTE: Please use a 2.5 version of openweathermap API

VITE_API_KEY_WEATHER_MAP = {USE YOUR API KEY}
VITE_BASE_URL_WEATHER_MAP = https://api.openweathermap.org/data/2.5

5. Go to:

Visualice the project on http://localhost:5173/, the first screen is a "look like" login, once you enter any email and any passwaord the send button will be activated.

Project stack:

Core Technologies using in this project

  1. React (^18.3.1)
  2. React DOM (^18.3.1)
  3. React Router DOM

Build & Development

  1. Vite (^5.4.1)
  2. TypeScript (^5.5.3)

Styling

  1. Tailwind CSS (^3.4.10)
  2. PostCSS (^8.4.41) & Autoprefixer (^10.4.20)

🌳 Project tree:

# climo
β”œβ”€ README.md
β”œβ”€ eslint.config.js
β”œβ”€ index.html
β”œβ”€ package.json
β”œβ”€ postcss.config.js
β”œβ”€ public
β”‚  β”œβ”€ crossIcon.svg
β”‚  β”œβ”€ dowmArrowIcon.svg
β”‚  β”œβ”€ locationIcon.svg
β”‚  β”œβ”€ statics
β”‚  β”‚  β”œβ”€ 2xx.png
β”‚  β”‚  β”œβ”€ 3xx.png
β”‚  β”‚  β”œβ”€ 5xx.png
β”‚  β”‚  β”œβ”€ 6xx.png
β”‚  β”‚  β”œβ”€ 7xx.png
β”‚  β”‚  β”œβ”€ 800.png
β”‚  β”‚  β”œβ”€ 803.png
β”‚  β”‚  β”œβ”€ 804.png
β”‚  β”‚  β”œβ”€ 80x.png
β”‚  β”‚  β”œβ”€ 90x.png
β”‚  β”‚  └─ default.png
β”‚  β”œβ”€ translateIcon.svg
β”‚  └─ vite.svg
β”œβ”€ src
β”‚  β”œβ”€ App.scss
β”‚  β”œβ”€ App.tsx
β”‚  β”œβ”€ assets
β”‚  β”‚  β”œβ”€ climLogo.svg
β”‚  β”‚  └─ translations.svg
β”‚  β”œβ”€ components
β”‚  β”‚  β”œβ”€ contactForm
β”‚  β”‚  β”‚  β”œβ”€ index.scss
β”‚  β”‚  β”‚  └─ index.tsx
β”‚  β”‚  β”œβ”€ dayForecast
β”‚  β”‚  β”‚  β”œβ”€ index.scss
β”‚  β”‚  β”‚  β”œβ”€ index.tsx
β”‚  β”‚  β”‚  └─ types.ts
β”‚  β”‚  β”œβ”€ hero
β”‚  β”‚  β”‚  β”œβ”€ index.scss
β”‚  β”‚  β”‚  β”œβ”€ index.tsx
β”‚  β”‚  β”‚  └─ types.ts
β”‚  β”‚  β”œβ”€ navBar
β”‚  β”‚  β”‚  β”œβ”€ __tests__
β”‚  β”‚  β”‚  β”‚  └─ index.spec.tsx
β”‚  β”‚  β”‚  β”œβ”€ index.scss
β”‚  β”‚  β”‚  └─ index.tsx
β”‚  β”‚  └─ weekForecast
β”‚  β”‚     β”œβ”€ index.scss
β”‚  β”‚     β”œβ”€ index.tsx
β”‚  β”‚     └─ types.ts
β”‚  β”œβ”€ i18n.js
β”‚  β”œβ”€ index.scss
β”‚  β”œβ”€ main.tsx
β”‚  β”œβ”€ pages
β”‚  β”‚  β”œβ”€ dashboard
β”‚  β”‚  β”‚  β”œβ”€ __tests__
β”‚  β”‚  β”‚  β”‚  └─ index.spec.tsx
β”‚  β”‚  β”‚  β”œβ”€ index.scss
β”‚  β”‚  β”‚  └─ index.tsx
β”‚  β”‚  └─ signIn
β”‚  β”‚     β”œβ”€ __tests__
β”‚  β”‚     β”‚  └─ index.spec.tsx
β”‚  β”‚     β”œβ”€ index.scss
β”‚  β”‚     └─ index.tsx
β”‚  β”œβ”€ repositories
β”‚  β”‚  └─ weatherRepository
β”‚  β”‚     β”œβ”€ __tests__
β”‚  β”‚     β”‚  └─ index.spec.tsx
β”‚  β”‚     β”œβ”€ index.ts
β”‚  β”‚     └─ types.ts
β”‚  β”œβ”€ translations
β”‚  β”‚  β”œβ”€ en.json
β”‚  β”‚  └─ es.json
β”‚  β”œβ”€ utils
β”‚  β”‚  β”œβ”€ countries.json
β”‚  β”‚  β”œβ”€ forecast.tsx
β”‚  β”‚  └─ resolveImage.tsx
β”‚  └─ vite-env.d.ts
β”œβ”€ tailwind.config.js
β”œβ”€ tsconfig.app.json
β”œβ”€ tsconfig.json
β”œβ”€ tsconfig.node.json
β”œβ”€ vite.config.ts
β”œβ”€ vitest.config.ts
└─ yarn.lock