{"id":21769181,"url":"https://github.com/scanf-s/sqlalchemy_project","last_synced_at":"2026-05-10T17:02:00.612Z","repository":{"id":239592832,"uuid":"799969321","full_name":"Scanf-s/SQLAlchemy_Project","owner":"Scanf-s","description":"Flask + SQLAlchemy project","archived":false,"fork":false,"pushed_at":"2024-05-30T04:11:16.000Z","size":199,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-26T02:52:33.295Z","etag":null,"topics":["flask","mysql","poetry","python","sqlalchemy"],"latest_commit_sha":null,"homepage":"","language":"Python","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/Scanf-s.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":"2024-05-13T13:03:13.000Z","updated_at":"2025-01-19T08:05:24.000Z","dependencies_parsed_at":"2024-05-20T10:56:39.325Z","dependency_job_id":"31c41d0f-1567-4ce9-bea9-5656fa95748a","html_url":"https://github.com/Scanf-s/SQLAlchemy_Project","commit_stats":null,"previous_names":["scanf-s/flask_dummy_generator_api","scanf-s/sqlalchemy_project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scanf-s%2FSQLAlchemy_Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scanf-s%2FSQLAlchemy_Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scanf-s%2FSQLAlchemy_Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scanf-s%2FSQLAlchemy_Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Scanf-s","download_url":"https://codeload.github.com/Scanf-s/SQLAlchemy_Project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244745762,"owners_count":20503050,"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":["flask","mysql","poetry","python","sqlalchemy"],"created_at":"2024-11-26T14:07:57.486Z","updated_at":"2026-05-10T17:01:55.581Z","avatar_url":"https://github.com/Scanf-s.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dummy Data Generation Project\n\n## 프로젝트 설명\n\n\u003e 이 프로젝트는 HTTP POST를 사용하여 더미데이터를 생성하여 실제 로컬 MySQL DB에 생성된 데이터를 삽입하며,\n\u003e HTTP GET을 사용하여 DB정보 및 더미데이터를 조회할 수 있도록 구현한 프로젝트입니다.\n\n- Faker: 더미 데이터를 생성하기 위해 사용되었습니다.\n- SQLAlchemy: ORM을 이용하여 쉽게 테이블 CRUD 작업을 할 수 있도록 도와줍니다.\n- Flask: 간편한 GET 방식의 API를 구현하기 위해 사용되었습니다.\n\n이 프로젝트는 Flask 마이크로 프레임워크, Faker, SQLAlchemy 라이브러리 사용에 익숙해지기 위한 목적으로 진행되었습니다.  \n또한, Flask와 SQLAlchemy에 대해 깊이 공부하지 못하여 코드에 부족한점이 많습니다.  \n추후 기회가 된다면 프로젝트를 개선해 나갈 예정입니다.  \n\n## 개발 환경 및 사용 기술\n![](https://img.shields.io/badge/Ubuntu-24292e?style=flat\u0026logo=Ubuntu\u0026logoColor=white\")\n![](https://img.shields.io/badge/Poetry-24292e?style=flat\u0026logo=Poetry\u0026logoColor=white\")\n![](https://img.shields.io/badge/Python-24292e?style=flat\u0026logo=Python\u0026logoColor=white\")\n![](https://img.shields.io/badge/SQLAlchemy-24292e?style=flat\u0026logo=SQLAlchemy\u0026logoColor=white\")\n![](https://img.shields.io/badge/Flask-24292e?style=flat\u0026logo=Flask\u0026logoColor=white\")\n\n## 프로젝트 구조\n```text\n.\n├── README.md\n├── app.py\n├── config\n│   ├── DatabaseInfo.py\n│   ├── GoogleAPIKey.json\n│   ├── __init__.py\n│   ├── database_engines.py\n│   └── flask_sqlalchemy_init.py\n├── controller\n│   ├── __init__.py\n│   ├── api_controller.py\n│   ├── homepage_controller.py\n│   └── oauth_controller.py\n├── models\n│   ├── AirlineModel.py\n│   ├── AirplaneModel.py\n│   ├── AirplaneTypeModel.py\n│   ├── AirportGeoModel.py\n│   ├── AirportModel.py\n│   ├── AirportReachableModel.py\n│   ├── BookingModel.py\n│   ├── EmployeeModel.py\n│   ├── FlightLogModel.py\n│   ├── FlightModel.py\n│   ├── FlightScheduleModel.py\n│   ├── Passenger.py\n│   ├── PassengerDetailsModel.py\n│   ├── UserModel.py\n│   ├── WeatherDataModel.py\n│   ├── __init__.py\n│   └── airport-ddl.sql\n├── poetry.lock\n├── pyproject.toml\n├── requirements.txt\n├── templates\n│   ├── base.html\n│   ├── homepage.html\n│   ├── post_all.html\n│   ├── post_table.html\n│   └── index.html\n└── util\n    ├── CustomJSONEncoder.py\n    ├── __init__.py\n    ├── database_utils.py\n    ├── dummy_generators.py\n    ├── error\n    │   ├── __init__.py\n    │   └── error_handler.py\n    └── utils.py\n```\n\n## How to Install?\n\n### 1. Clone repository\n```bash\ngit clone [this repository]\n```\n\n### 2. Install MySQL\n[Ubuntu MySQL](https://ubuntu.com/server/docs/install-and-configure-a-mysql-server)\n\n```bash\nsudo apt install mysql-server\nsudo service mysql start\n```\n\n```mysql\nmysql -u root -p 123123\n```\n(Or modify the root password in config/database_engines.py's create_engine_connection())\n\n```mysql\ncreate user 'test'@'localhost' identified by '123123';\n```\n(Or modify the _USERNAME and _PASSWORD in config/DatabaseInfo.py)\n\n### 3. Open the Project with Your IDE and Install Poetry\nIn your IDE console\n```bash\npip install poetry\npoetry config virtualenvs.in-project true\npoetry config virtualenvs.path \"./.venv\"\npoetry install\n```\n\n### 4. Register Google API application\n[Register your google API application here](https://console.cloud.google.com/welcome)  \n[Google Developer docs for Korean](https://developers.google.com/identity/protocols/oauth2/service-account?hl=ko#creatinganaccount)  \n[Reference blog for Korean](https://goldenrabbit.co.kr/2023/08/07/oauth%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-%EA%B5%AC%EA%B8%80-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EC%9D%B8%EC%A6%9D%ED%95%98%EA%B8%B0-1%ED%8E%B8/)  \n\nThen, modify config/GoogleAPIKey.json\n```json\n{\n  \"CLIENT_KEY\": \"your_google_api_client_key\",\n  \"SECRET_KEY\": \"your_google_api_secret_key\"\n}\n```\n\n### 5. Run Flask-migrate\n```bash\npoetry shell\nflask db init\nflask db migrate\nflask db upgrade\n```\n\n### 6. Run application and open your browser\n```bash\nflask run\n```\n\n![image](https://github.com/Scanf-s/SQLAlchemy_Project/assets/105439069/6b1e63ce-405a-4994-9823-ec5969fb3786)\n\n![image](https://github.com/Scanf-s/SQLAlchemy_Project/assets/105439069/3ef3858a-bf09-4417-8f85-c821e9cc4aed)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscanf-s%2Fsqlalchemy_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscanf-s%2Fsqlalchemy_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscanf-s%2Fsqlalchemy_project/lists"}