Muhammad Sammy Aidil
Project ini adalah Microservice yang dirancang untuk mempermudah pengelolaan daftar lokasi dan pengecekan cuaca di berbagai kota menggunakan API OpenWeatherMap. Backend Microservice ini dibangun menggunakan Flask dan terhubung ke database MySQL untuk menyimpan data lokasi, seperti nama kota dan kode negara. Aplikasi ini juga memanfaatkan API dari OpenWeatherMap untuk mengambil informasi cuaca terkini di kota-kota tersebut. Di sisi frontend, antarmuka interaktif dibuat dengan React. Pengguna dapat menambahkan lokasi baru, memperbarui informasi kota yang sudah ada, melihat daftar lengkap lokasi yang tersimpan, dan melakukan pengecekan cuaca pada kota tertentu dengan mudah.
1. Buat Database di MYSQL
Pertama saya membuat database dengan nama cuaca_db, kemudian membuat table dengan nama lokasi, table lokasi nya diisi dengan id (primary key), nama_kota, dan kode_negara.
2. Buat backend menggunakan python flask yang terhubung dengan MYSQL dan OpenWeatherMap API
Aplikasi Flask ini adalah API sederhana yang berfungsi untuk menyimpan dan mengelola data lokasi serta mengambil informasi cuaca dari OpenWeatherMap. Aplikasi ini terhubung ke database MySQL bernama `cuaca_db`, di mana data lokasi disimpan, dan memanfaatkan kunci API OpenWeatherMap untuk mengambil data cuaca. Di bagian endpoint, API ini menyediakan beberapa fungsi utama:
Aplikasi ini juga telah diatur untuk mendukung Cross-Origin Resource Sharing (CORS) menggunakan `flask_cors.CORS`, sehingga memungkinkan aplikasi di domain lain untuk mengakses API ini, misalnya dari aplikasi front-end. Server Flask ini berjalan pada `0.0.0.0` dengan port `5010`, sehingga dapat diakses dari jaringan lain, dan dijalankan dalam mode debug (`debug=True`) untuk mempermudah pengembangan dengan menampilkan pesan error yang lebih informatif.
3. Buat frontend yang terhubung dengan flask backend menggunakan ReactJS
Aplikasi React ini dirancang untuk mengelola daftar lokasi dan juga mengecek cuaca di berbagai kota. Ada beberapa fungsi utama yang bekerja untuk menghubungkan aplikasi ini dengan backend:
Jadi, di antarmuka, pengguna bisa menambah atau memperbarui daftar lokasi yang tersimpan di backend. Selain itu, aplikasi juga memungkinkan pengguna untuk mengecek cuaca di kota tertentu berkat integrasi dengan OpenWeatherMap API.
4. Buat CSS agar tampilan nya semakin menarik
5. Tampilan WEB
Fitur-fitur pada WEB: