CesClima
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.