{"id":20638463,"url":"https://github.com/ahmetfurkandemir/onelinktr","last_synced_at":"2026-03-07T22:07:32.670Z","repository":{"id":110786994,"uuid":"508948723","full_name":"AhmetFurkanDEMIR/OneLinkTR","owner":"AhmetFurkanDEMIR","description":"Don't miss the opportunity to combine multiple links in one link!. With this application developed by the SoftForRange team, keep both your links and your customers together.","archived":false,"fork":false,"pushed_at":"2022-07-07T06:47:56.000Z","size":1156,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-15T21:52:19.865Z","etag":null,"topics":["create-link","docker","flask","onelink","onelinktr","oracle-cloud","postgresql","python","softforrange","teklink","ubuntu"],"latest_commit_sha":null,"homepage":"https://onelinktr.com/","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/AhmetFurkanDEMIR.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}},"created_at":"2022-06-30T05:44:05.000Z","updated_at":"2024-12-11T06:13:31.000Z","dependencies_parsed_at":"2023-03-13T13:48:15.737Z","dependency_job_id":null,"html_url":"https://github.com/AhmetFurkanDEMIR/OneLinkTR","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AhmetFurkanDEMIR/OneLinkTR","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmetFurkanDEMIR%2FOneLinkTR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmetFurkanDEMIR%2FOneLinkTR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmetFurkanDEMIR%2FOneLinkTR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmetFurkanDEMIR%2FOneLinkTR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AhmetFurkanDEMIR","download_url":"https://codeload.github.com/AhmetFurkanDEMIR/OneLinkTR/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AhmetFurkanDEMIR%2FOneLinkTR/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30233432,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T19:01:10.287Z","status":"ssl_error","status_checked_at":"2026-03-07T18:59:58.103Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["create-link","docker","flask","onelink","onelinktr","oracle-cloud","postgresql","python","softforrange","teklink","ubuntu"],"created_at":"2024-11-16T15:18:10.541Z","updated_at":"2026-03-07T22:07:32.647Z","avatar_url":"https://github.com/AhmetFurkanDEMIR.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://img.shields.io/badge/Python-FFD43B?style=for-the-badge\u0026logo=python\u0026logoColor=blue) ![](https://img.shields.io/badge/Flask-000000?style=for-the-badge\u0026logo=flask\u0026logoColor=white) ![](https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white) ![](https://img.shields.io/badge/Docker-2CA5E0?style=for-the-badge\u0026logo=docker\u0026logoColor=white) ![](https://img.shields.io/badge/Oracle-F80000?style=for-the-badge\u0026logo=oracle\u0026logoColor=black) ![](https://img.shields.io/badge/Ubuntu-E95420?style=for-the-badge\u0026logo=ubuntu\u0026logoColor=white)\r\n\r\n# [OneLinkTR.com](https://onelinktr.com/)\r\n\r\n![Screenshot_2022-07-06_14-57-58](https://user-images.githubusercontent.com/54184905/177545000-a5e9db3d-f489-4c4f-a123-987667b1d8d9.png)\r\n\r\n**Keep It Together!**\r\nWith this application developed by the [SoftForRange](https://softforrange.com/) team, keep both your links and your customers together.\r\n\r\n**Economize**\r\nDon't have to allocate a separate ad budget for each app, get it all done at once!\r\n\r\n**Application Logic**\r\nDifferent market links of your application in different operating systems are combined and a single link is created, when the user goes to this link, the operating system is automatically detected and directed to the specific link for that operating system.\r\n\r\n[**You can use OneLinkTR application right now and create a single link!!**](https://onelinktr.com/)\r\n\r\nOR, you can run this application in your local by following the steps below.\r\n\r\n### Deploying OneLinkTR with Docker.\r\n\r\n![index](https://user-images.githubusercontent.com/54184905/177587011-5fc7947b-fa34-4cf3-95dd-78e90752de1d.jpeg)\r\n\r\nIn order to run the OneLinkTR application on our computer, we need to install Docker, we go to the link for Docker installation. [Link](https://docs.docker.com/engine/install/ubuntu/)\r\n\r\nAfter the Docker installation, you need to install git on your computer so that you can pull the project to your own computer, run the command below to install git.\r\n\r\n```terminal\r\nsudo apt-get install git\r\n```\r\n\r\nNow that we have Git installed, we can pull the project to our local.\r\n\r\n```terminal\r\ngit clone https://github.com/AhmetFurkanDEMIR/OneLinkTR\r\n```\r\n\r\nAfter we pull the project to our local, we need to make some changes specific to your computer. \r\n\r\nFirst of all, create a yadex mail so that you can verify mail in the application, then go to the Python script file called [PyScripts/tools.py](/PyScripts/tools.py) and enter your yandex account information in the \"MyEmail\" and \"MyEmailPass\" variables, so you can send verification links via smtp with your yandex account.\r\n\r\n```python\r\nglobal MyEmail\r\nglobal MyEmailPass\r\nMyEmail = \"your_yandex_mail\"\r\nMyEmailPass = \"your_password\"\r\n```\r\n\r\nAfter completing the mail operations, we need to make some changes and configurations to direct the project from docker to our public ip address.\r\n\r\nRun the following Python code on your Ubuntu computer and find out your computer's public ip address.\r\n\r\n```python\r\nimport socket\r\ns = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)\r\ns.connect((\"8.8.8.8\", 80))\r\nprint(s.getsockname()[0])\r\ns.close()\r\n```\r\n\r\nIn this example my ip address is \"192.168.1.33\", it should give you an ip address like this, now you need to paste the ip address into the \"myIp\" variable in the Python script called [PyScripts/tools.py](/PyScripts/tools.py).\r\n\r\n```python\r\nServerPort = 5000\r\nglobal myUrl\r\nmyIp = \"192.168.1.33\"\r\nmyUrl = \"http://{}:{}/\".format(str(myIp), str(ServerPort))\r\n```\r\n\r\nWe have created a url with our public ip, and thanks to this url, we will be able to verify user accounts. \r\n\r\nAfter these operations, we will create a docker network with this public address, edit and run the following command according to your own ip address to create the network.\r\n\r\n```terminal\r\ndocker network create -o \"com.docker.network.bridge.host_binding_ipv4\"=\"192.168.1.33\" bridge2\r\n```\r\n\r\nNow that we have finished all our configuration processes, we can deploy the images in the [docker-compose.yml](/docker-compose.yml) file and access our application.\r\n\r\nWe have two images in the docker-compose.yml file.\r\n\r\nThe first image contains the PostgreSQL database. When we deploy this image, the sql commands in [sql/create_tables.sql](/sql/create_tables.sql) are run and the necessary tables are created.\r\n\r\nIn the second image, we have our website that we wrote with Python-Flask, when this image is deployed, the python packages in [requirements.txt](/requirements.txt) are loaded and then the application is deployed on the public ip.\r\n\r\nRun the following command to deploy these two images and access the application.\r\n\r\n```terminal\r\n# Cleaning up Docker images\r\ndocker rm -f $(docker ps -a -q)\r\ndocker volume rm $(docker volume ls -q)\r\n\r\n# Running all images (While in the project folder)\r\nsudo docker-compose up -d\r\n```\r\n\r\nNow that our images are deployed, you can access the OneLinkTR application via http://YourPublicIp:5000. (my Url: http://192.168.1.33:5000/)\r\n\r\n\r\n\r\n\r\n#### Contributors\r\n\r\n* [Ahmet Furkan DEMIR](https://www.ahmetfurkandemir.com/)\r\n\r\n* [Mustafa Esen](https://www.linkedin.com/in/mustafa-esen-6a1546194/)\r\n\r\n* [SoftForRange](https://softforrange.com/)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmetfurkandemir%2Fonelinktr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmetfurkandemir%2Fonelinktr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmetfurkandemir%2Fonelinktr/lists"}