better src readme
This commit is contained in:
parent
2f86536893
commit
b9d45ac9f1
@ -16,22 +16,23 @@ The modules in this folder define and manage parameters for various parts of the
|
||||
### src/structs
|
||||
This folder defines the commonly used data structures used within the project. The models leverage Pydantic's `BaseModel` to ensure data validation, serialization, and easy interaction between different components of the application. The main classes are:
|
||||
- **Landmark**:
|
||||
- Represents a point of interest (POI) or landmark in the context of a trip. It stores various attributes like the landmark's name, type, location (latitude and longitude), and its OpenStreetMap (OSM) details such as OSM type and ID.
|
||||
- It also includes other optional fields like image URLs, website links, and descriptions. Additionally, the class has properties to track if the landmark is a "must-visit" or "must-avoid," its attractiveness score, and whether it is a secondary or less significant attraction.
|
||||
- Each `Landmark` has a unique identifier (UUID), making it possible to track and link landmarks in different trip plans.
|
||||
- Represents a point of interest in the context of a trip. It stores various attributes like the landmark's name, type, location (latitude and longitude), and its OSM details.
|
||||
- It also includes other optional fields like image URLs, website links, and descriptions. Additionally, the class has properties to track its attractiveness score or elative importance.
|
||||
|
||||
- **Preferences**:
|
||||
- This class captures user-defined preferences needed to personalize a trip. Preferences are provided for sightseeing (history and culture), nature (parks and gardens), and shopping. These preferences guide the trip optimization process, and additional fields such as `max_time_minute` and `detour_tolerance_minute` allow customization of the trip's duration and allowed detours.
|
||||
- This class captures user-defined preferences needed to personalize a trip. Preferences are provided for sightseeing (history and culture), nature (parks and gardens), and shopping. These preferences guide the trip optimization process.
|
||||
|
||||
- **Trip**:
|
||||
- The `Trip` class represents the complete travel plan generated by the system. It holds key information like the trip's total time, a unique trip identifier (UUID), and the first landmark's unique ID.
|
||||
- The class also includes a method, `from_linked_landmarks`, which allows creating a `Trip` from a `LinkedLandmarks` object (an optimized sequence of landmarks).
|
||||
- The `Trip` class represents the complete travel plan generated by the system. It holds key information like the trip's total time and the first landmark's UUID.
|
||||
|
||||
### src/tests
|
||||
This folder contains unit tests and test cases for the application's various modules. It is used to ensure the correctness and stability of the code.
|
||||
|
||||
### src/utils
|
||||
This folder includes utility functions and helper modules that provide commonly used functionality across the project. These utilities streamline processes like logging, formatting, and error handling.
|
||||
The `utils` folder contains utility classes and functions that provide core functionality for the application. The main component in this folder is the `LandmarkManager`, which is central to the process of fetching and organizing landmarks.
|
||||
|
||||
- **LandmarkManager**:
|
||||
- The `LandmarkManager` is responsible for fetching landmarks from OpenStreetMap (via the Overpass API) and managing their classification based on user preferences. It processes raw geographical data, filters landmarks into relevant categories (such as sightseeing, nature, shopping), and prioritizes them for trip planning.
|
||||
|
||||
## Files
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user