August 12, 2025

CesClima

Screenshot of the CesClima app

CesClima is a weather application developed as a personal project to demonstrate the full development and deployment cycle of a web service.
It includes a Node.js backend with Express that consumes data from WeatherAPI and enables city search using the all-the-cities package.

On the frontend side, CesClima features a mobile app built with React Native. Part of the motivation behind this project was to refine my React Native skills through a real-world application.
While I already have experience with the framework, I see this as an ongoing learning journey—pushing myself to implement best practices, improve UI/UX design, and integrate with a live backend.

This project focuses not only on delivering accurate weather data but also on implementing backend best practices, self-hosting, and deployment automation with CI/CD.

🧩 Features

  • Get current weather by city or geographic coordinates.
  • Fast city search with autocomplete.
  • Integration with WeatherAPI for accurate meteorological data.
  • REST API optimized for mobile and web consumption.
  • Self-hosted backend running on a home server.
  • Automated deployment with GitHub Actions and pm2.
  • Containerized with Docker for portability.
  • Mobile app built with React Native for a seamless cross-platform experience.

💡 Technologies Used

  • Node.js
  • Express
  • Docker
  • pm2
  • JavaScript
  • React Native
  • WeatherAPI
  • all-the-cities

🌐 Demo

👉 Coming soon (restricted access)

🎯 Objective

The main goal of CesClima is to serve as a practical example of how to develop, deploy, and maintain a backend in a self-hosted environment, combining skills in programming, mobile development, server administration, and deployment automation.
It goes beyond simply showing the weather—it’s a platform to learn, refine, and showcase complete technical competencies, from code to production.

🚀 Developed by César Clavería.

Ready to work together? Let's work together.