Skip to main content

Weather App Full Stack Project

A robust Node.js and Koa weather application with a modern frontend, automated testing, and CI/CD.

Project Overview

The Weather App Full Stack Project is a feature-rich application that provides real-time weather and 7-day forecasts for cities around the world. It demonstrates full stack development, RESTful API design, error handling, logging, rate limiting, and automated testing.

Key Technologies

Node.js
Koa
JavaScript
CSS
Jest
Cypress
GitHub Actions
Docker

Technical Implementation

Backend & API

  • Node.js backend using Koa for RESTful API endpoints
  • Weather and forecast data fetched from OpenWeatherMap API
  • Error handling and logging with Winston
  • Rate limiting and security middleware
  • Health check endpoint for monitoring

Frontend & Testing

  • Modern, responsive UI for weather and forecast display
  • Automated unit and integration tests with Jest
  • End-to-end tests with Cypress
  • Continuous integration with GitHub Actions
  • Dockerized for easy deployment

Key Features

Weather Capabilities

  • Fetch current weather by city or coordinates
  • Fetch 7-day forecast by city or coordinates
  • Display weather icons, temperature, wind, and rain data
  • Responsive design for all devices

Development Tools

  • Comprehensive automated testing (Jest, Cypress)
  • Code coverage reporting
  • Continuous integration with GitHub Actions
  • Dockerized for deployment
  • Health check and monitoring endpoints

Project Links