{"id":27938489,"url":"https://github.com/free-programmers/geoipservice","last_synced_at":"2025-10-30T22:39:38.244Z","repository":{"id":182638006,"uuid":"668850642","full_name":"free-programmers/GeoIPService","owner":"free-programmers","description":"API web service for getting an IP's location","archived":false,"fork":false,"pushed_at":"2025-05-21T05:40:11.000Z","size":3032,"stargazers_count":9,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-09T00:37:41.826Z","etag":null,"topics":["flask","flask-api","flask-caching","flask-captcha2","flask-limiter","flask-migrate","flask-session","flask-sqlalchemy","flask-wtf","python","python3","redis"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/free-programmers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-20T18:29:40.000Z","updated_at":"2025-04-14T11:27:37.000Z","dependencies_parsed_at":"2024-01-10T15:02:13.385Z","dependency_job_id":"b215e4ac-c553-472f-9fed-fd84b902c43d","html_url":"https://github.com/free-programmers/GeoIPService","commit_stats":null,"previous_names":["free-programmers/geoip-api","free-programmers/geoipservice"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/free-programmers/GeoIPService","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/free-programmers%2FGeoIPService","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/free-programmers%2FGeoIPService/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/free-programmers%2FGeoIPService/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/free-programmers%2FGeoIPService/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/free-programmers","download_url":"https://codeload.github.com/free-programmers/GeoIPService/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/free-programmers%2FGeoIPService/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281896644,"owners_count":26580138,"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","status":"online","status_checked_at":"2025-10-30T02:00:06.501Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["flask","flask-api","flask-caching","flask-captcha2","flask-limiter","flask-migrate","flask-session","flask-sqlalchemy","flask-wtf","python","python3","redis"],"created_at":"2025-05-07T08:48:41.832Z","updated_at":"2025-10-30T22:39:38.228Z","avatar_url":"https://github.com/free-programmers.png","language":"HTML","readme":"# GeoIP-API\n\n### api service for converting IP address to geo Location ...\n\n### images\n\n\u003cimg src=\"./doc/Images/index.png\"\u003e\n\u003cimg src=\"./doc/Images/public-ip.png\"\u003e\n\u003cimg src=\"./doc/Images/ip-2-location.png\"\u003e\n\n### Tech stack:\n\n    Python3\n    Flask 3.x\n        Flask-wtf\n        Flask-sqlalchemy\n        Flask-migrate\n        Flask-session\n        Flask-babel\n        Flask-mail\n        Flask-caching\n        Flask-limiter\n        Flask-captcha2\n        Flask-shell-ipython\n    Redis\n    Mysql\n    Boostrap 5.3x\n    Html\n    Css\n    Js\n    highlight js\n    Jquery\n\n\n## how to run :\n\n### 0.0 create a virtual env\n\n    python -m venv venv\n\n### 0.1 activate virtual env\n\n    linux-mac :\n            source ./venv/bin/active\n    windows:\n            ./venv/Scripts/activate\n\n### 0.2 install dependency:\n\n    pip install -r requirements.txt\n\n### 0.3 complete config.ini file\n\n    mv config.sample.ini config.ini\n    change data in config.ini file (like database name, ...)\n\n### Migrate to db\n\nbefore running the below commands connect to you database and create a database (don't forget to put database name in\nconfig.ini file)\n\n    flask db init\n    flask db migrate \n    flask db upgrade\n\n    or just run MakeMigrate bash script (sudo chmod +x ./MakeMigrate then just run ./MakeMigrate)\n\nor go create database your self via flask interactive shell\n\n    flask shell\n    from GeoIpCore.extensions import db\n    \n    db.create_all() # database creation command\n    exit() # exit from ipython\n\n### run App\n\n    python app.py\n    or\n    flask run [--debug(for debug) --reload(reload template) --port 8080(for port)]\n        [...] is optional\n\n---\n\n### at this point web app is up and running\n\nbut there is no data in database so let add some data to database\n\n## warning : before running any of below script you should first fill up .env file and also migrate changes to db !\n\n### 0.0 for adding automatically data\n\n        cd ./GeoIpUpdater\n        python fetchAndInsertdata.py \n                \n        - this script automatically fetch a dataset from github\n            and then update database with new data\n\n### 0.1 just insert data\n\n#### if you have data your self just run below script\n\n        cd ./GeoIpUpdater\n        python InsertDataByFile.py\n\n        - this script insert data to database base on an input file ( file is required )\n\n## Deploy to Server:\n\n### This Web App configure for Deploy to \u003ca href='https://liara.ir'\u003eliara.ir\u003c/a\u003e - if you want to deploy to other Pass Service providers make sure to change configuration base of service provider that you use.\n\n#### For See How Deploy To liara.ir see \u003ca href='./doc/Deploy/liara.ir'\u003eHere\u003c/a\u003e\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffree-programmers%2Fgeoipservice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffree-programmers%2Fgeoipservice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffree-programmers%2Fgeoipservice/lists"}