{"id":23243359,"url":"https://github.com/min-1870/indione","last_synced_at":"2026-05-08T13:34:29.552Z","repository":{"id":197355834,"uuid":"697115807","full_name":"min-1870/IndiOne","owner":"min-1870","description":"We have created an application with the function of recommending multiple routes for customers with various purposes (dating, leisure trips and business, etc.).  Selectable options are integrated into the system to allow users to customize their plans accurately, according to their preferences.","archived":false,"fork":false,"pushed_at":"2023-11-07T05:53:35.000Z","size":58570,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-12T05:44:50.655Z","etag":null,"topics":["google-maps","googlemaps-api","mobile-app","python","reactjs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/min-1870.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-09-27T04:59:10.000Z","updated_at":"2024-11-30T13:00:55.000Z","dependencies_parsed_at":"2023-11-07T06:23:47.281Z","dependency_job_id":null,"html_url":"https://github.com/min-1870/IndiOne","commit_stats":null,"previous_names":["min-1870/indione"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/min-1870%2FIndiOne","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/min-1870%2FIndiOne/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/min-1870%2FIndiOne/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/min-1870%2FIndiOne/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/min-1870","download_url":"https://codeload.github.com/min-1870/IndiOne/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247412496,"owners_count":20934870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["google-maps","googlemaps-api","mobile-app","python","reactjs"],"created_at":"2024-12-19T06:16:37.871Z","updated_at":"2026-05-08T13:34:24.516Z","avatar_url":"https://github.com/min-1870.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IndiOne : Code-with-Google-Maps\n\nA mobile-friendly web application that automatically schedules itinerary based on user preferences\n\nhttps://github.com/min-1870/IndiOne/assets/142607954/b26eacbd-6ffe-4d77-9196-87bf150bc3c7\n\n## About Team\n\n- Team name: IndiOne\n- Members\n  - (Leader) Minseok Kim - 200134kms@gmail.com - Backend Dev\n  - Siwoo Jung - siwoo.jg@gmail.com - Frontend Dev\n  - Seonghyun Kim - seanhyun0301@gmail.com\n\n## Problem Statement\n\nAs AI technologies have been developed and made available to the public over the last decade, the demand for a convenient lifestyle has become a growing global issue.\n\nWe organized our ideas and devised a plan to address this trend. As a result, we have created an application with the function of recommending multiple routes for customers with various purposes (dating, leisure trips and business, etc.).\n\nSelectable options are integrated into the system to allow users to customize their plans accurately, according to their preferences.\n\n## A Brief of the Prototype\n\n### UML\n\n\u003cimg src=\"img/UML.png\" width=\"400\"\u003e\n\n### Prototype sample images\n\n- This is the main page where a user can input their choices of\n\n  \u003cimg src=\"img/main.png\" width=\"200\"\u003e\n\n  - Travel mode\n  - Starting location\n\n    - New swipeable edge pops up\n    - Search the location with _Place Autocomplete_\n\n      \u003cimg src=\"img/starting_location.png\" width=\"200\"\u003e\n\n  - Travelling time\n  - Maximum distance to travel\n  - Budget level\n    - This level corresponds to 'price_level' from Places API\n  - Transportation mode\n\n- Results\n\n  - Recommended routes with four different themes - **casual**, **local specialty**, **qualitative** and **shortest** - are shown\n\n    \u003cimg src=\"img/results_sample.png\" width=\"200\"\u003e\n\n    - **Casual** - the route has the highest score in overal.\n    - **Local Specialty** - the route include the tourist spot.\n    - **Qualitative** - the route has the highest rating of the places.\n    - **Shortest** - the route has minimum moving range.\n\n  - A user can navigate recommended routes of different themes with the **BACK** and **NEXT** buttons at the bottom\n  - A user can open each itinerary card to view detailed descriptions\n\n    \u003cimg src=\"img/results_places_description.png\" width=\"200\"\u003e\n\n## Tech Stack\n\n### Backend\n\n- Backend framworks\n  - Python Flask\n- Database\n  - Mongo DB\n\n### Frontend\n\n- UI\n  - JavaScript, HTML, CSS\n- Frontend frameworks\n  - React.js\n- Styling\n  - Bootstrap, MUI\n- Web application frameworks\n  - Node.js\n\n## Instructions\n\n### Backend\n\n- #### Create and activate Venv\n\n  - Move to **Backend** folder in your terminal\n  - Type `python -m venv BackendVenv` (for mac: `python3 -m venv BackendVenv`)\n  - Type `./BackendVenv/Scripts/Activate` (for mac: `source BackendVenv/bin/activate`)\n  - Select the **python.exe** in the **BackendVenv/Scripts** folder as interpretor of VSC (for mac: **python.exe** is in the **BackendVenv/bin** folder)\n\n- #### Install packages\n\n  - Type `pip install -r requirements.txt`\n\n- #### Input API key\n\n  - Create a json file call **keys.json**\n  - Paste your api key in the file\n    ```\n    {\n      \"googleApi\": \"GOOGLE API KEY\",\n      \"databaseUrl\": \"MONGO DB API KEY\"\n    }\n    ```\n\n- #### Run Server\n\n  - Run **server.py** in the **src** folder\n  - If following message appears at the bottom of the terminal, the server is ready\n    ```\n    * Serving Flask app 'IndiOneApi'\n    * Debug mode: off\n    WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.\n    * Running on http://127.0.0.1:5000\n    Press CTRL+C to quit\n    ```\n\n- #### Deactivate venv\n  - Type `deactivate`\n\n### Frontend\n\n- Manage API\n\n  - Locate 'Frontend' folder\n    - `cd Frontend`\n  - Create **.env** file\n  - In **.env** file, insert the following line, with \"YOUR_API_KEY\" replaced by your API\n    ```\n    VITE_API_KEY=YOUR_API_KEY\n    ```\n  - For example,\n    ```\n    VITE_API_KEY=A1B2C3D4E5F6G7\n    ```\n\n- Install packages\n\n  - Type `npm install --legacy-peer-deps`\n  - Make sure to include `--legacy-peer-deps`\n\n- Launch application\n  - Type `npm run dev`\n  - If your web browser does not automatically launch, locate addresses shown in the terminal\n  - For example,\n    ```\n    Local:   http://localhost:1234/\n    ```\n- Run application\n  - Choose your pereferences\n    - Choose **Travel Mode**, one of 'Solo', 'Couple', 'Friends' or 'Family'\n    - Choose your starting location\n      - Locate **From where?** and click/tap the search bar\n      - A new swipeable edge is shown. Click/tap 'Starting Location' bar and input your starting location\n      - Close the swipeable edge\n    - Choose your **travelling time**\n      - Pick your start and finish times\n        - Finish time shall not be earlier than starting time\n        - Start time + finish time cannot be more than 24 hours\n    - Choose **maxium distance** you would like to travel\n      - Locate the slide bar and choose the distance between 1 ~ 50km\n    - Choose your **budget**\n      - Choose a budget level between 0 and 4 ('$' is level 0)\n    - Choose your \\*_transportation_ mode\n    - Press 'FIND MY ITINERARY' button at the botom of the page\n  - Wait until the result page is shown\n- View results\n  - Once the result page is loaded, it shows four different routes based on the themes of **casual**, **Local Specialty**, **Qualitative** and **Shortest**\n    - A user can navigate with **BACK** or **NEXT** buttons at the bototm of the page\n  - A user can open or close a description card below the map to view detailed information of each itinerary\n  - Press **HOME** icon at the bottom to return to the initial page\n\n## Future Scope\n\nIn the future, following improvements could be applied\n\n- Improved route recommending algorithms\n  - Apply machine-learning for users' route choices and apply it for route recommendation algorithms\n  - A feature that a user can choose unwanted places among recommended routes, and those unwanted places to be replaced by other places while maintaining the rest of the places\n- Handling user database\n  - Sign-up, login, logout features\n  - Saved user preferences\n- Overall improved UI\n  - More detailed description of each selected places\n    - Sample photos\n    - Link to the official site\n- Customization of Google Map - simple, yet informative\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmin-1870%2Findione","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmin-1870%2Findione","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmin-1870%2Findione/lists"}