Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ilyachvanov/city-relocation-ranking-system
The project is designed to help individuals evaluate and rank cities to determine the ease and suitability of relocating
https://github.com/ilyachvanov/city-relocation-ranking-system
Last synced: about 1 month ago
JSON representation
The project is designed to help individuals evaluate and rank cities to determine the ease and suitability of relocating
- Host: GitHub
- URL: https://github.com/ilyachvanov/city-relocation-ranking-system
- Owner: IlyaChvanov
- Created: 2024-08-28T16:33:28.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2024-09-15T11:13:55.000Z (4 months ago)
- Last Synced: 2024-09-16T12:28:56.827Z (4 months ago)
- Language: C++
- Homepage:
- Size: 541 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# City Relocation Ranking System
## Project Overview
The **City Relocation Ranking System** is designed to help individuals evaluate and rank cities based on various metrics to determine the ease and suitability of relocating. This project gathers and processes data on key factors such as **quality of life**, **climate**, and **language difficulty** to provide an objective ranking of cities for potential movers.
A user writes the city he wants to know about and gets marks from 1 to 10 which show how good this city is. The result will be saved in DB and will be used in ranking with following cities.
## Features- **Pattern**: The cities are created using the `builder` pattern;
- **Metrics Collection**: Aggregates data on quality of life, climate conditions, and language difficulty.
- **City Ranking**: Sorts cities based on the difficulty of relocating, integrating the collected metrics into a comprehensive score.
- **Data Storage and Management**: Utilizes a `PostgreSQL` database for storing and managing collected data.
- **HTTP Requests**: Employs `curl` libraries for making HTTP requests to various APIs for data collection.
- **JSON Parsing**: Uses `nlohmann/json` for handling and parsing JSON data.
- **Testing**: Incorporates `Google Test` for unit testing to ensure code reliability.
- **Code Style**: https://google.github.io/styleguide/cppguide.html## Technologies Used
- **pqxx**: C++ library for interacting with PostgreSQL databases.
- **curl**: HTTPS requests and handling.
- **nlohmann/json**: A JSON library for C++ used for parsing and manipulating JSON data.
- **Google Test**: A testing framework for C++ used to create and run unit tests.
- **Flask**: A python framework for api handling## Installation
### Dependencies
**PostgreSQL** and **curl** *must* be installed in your PC and you must change pathes to dirs in CMakeLists.txt(str 6-7)
### Build Instructions
1. **Clone the repository:**
```bash
git clone https://github.com/yourusername/relocation-ranking-system.git
2. **Build**
3. **Run City Relocation Ranking System**### Structure