{"id":27155894,"url":"https://github.com/cloudsteak/trn-aws-webapp-sql","last_synced_at":"2025-04-08T19:57:13.930Z","repository":{"id":223276963,"uuid":"759729923","full_name":"cloudsteak/trn-aws-webapp-sql","owner":"cloudsteak","description":"AWS WebApp SQL hozzáféréssel","archived":false,"fork":false,"pushed_at":"2024-02-21T09:36:26.000Z","size":386,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-02-21T12:21:43.435Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/cloudsteak.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,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-19T08:22:17.000Z","updated_at":"2024-02-21T12:21:43.436Z","dependencies_parsed_at":"2024-02-19T12:21:22.905Z","dependency_job_id":"7f87d160-bf5a-406a-8511-ccf8bcf2bb37","html_url":"https://github.com/cloudsteak/trn-aws-webapp-sql","commit_stats":null,"previous_names":["cloudsteak/trn-aws-webapp-sql"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudsteak%2Ftrn-aws-webapp-sql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudsteak%2Ftrn-aws-webapp-sql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudsteak%2Ftrn-aws-webapp-sql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudsteak%2Ftrn-aws-webapp-sql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudsteak","download_url":"https://codeload.github.com/cloudsteak/trn-aws-webapp-sql/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247918923,"owners_count":21018044,"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":[],"created_at":"2025-04-08T19:57:13.241Z","updated_at":"2025-04-08T19:57:13.925Z","avatar_url":"https://github.com/cloudsteak.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS WebApp SQL hozzáféréssel\n\n## Tartalomjegyzék\n\n- [Összetevők](#Összetevők)\n- [SQL adatbázis létrehozása](#SQL-adatbázis-létrehozása)\n- [Kapcsoldás az adatbázishoz](#Kapcsoldás-az-adatbázishoz)\n- [Adatbázis létrehozása](#Adatbázis-létrehozása)\n- [Alkalmazás helyi futtatása](#Alkalmazás-helyi-futtatása)\n- [Alkalmazás futtatása Elastic Beanstalk segítségével](#Alkalmazás-futtatása-Elastic-Beanstalk-segítségével)\n  - [Elastic Beanstalk környezet létrehozása](#Elastic-Beanstalk-környezet-létrehozása)\n  - [Adatbázis hozzáférési paraméterek hozzáadása Elastic Beanstalk környezethez](#Adatbázis-hozzáférési-paraméterek-hozzáadása-Elastic-Beanstalk-környezethez)\n  - [CodePipeline konfigurálása a folyamatos üzembehelyezéshez](#CodePipeline-konfigurálása-a-folyamatos-üzembehelyezéshez)\n  \n\n## Összetevők\n\n- AWS Elastic Beanstalk\n- AWS RDS (MariaDB)\n\n## SQL adatbázis létrehozása\n\n1. Lépjünk be az AWS konzolba\n2. Keresőbe írjuk be a RDS szolgáltatást\n3. Kattintsunk a \"Create database\" gombra\n4. Válasszuk ki a Mariadb adatbázist\n5. Válasszuk ki a \"Free tier\" opciót\n6. Töltsük ki a következő oldalon a kötelező mezőket\n   - DB instance identifier: adatbazis\n   - Master username: adatgazda\n   - Jelszónál (Master password) generáljunk valami erős jelszót [itt](https://delinea.com/resources/password-generator-it-tool). (Pl.: `FA+Hb#Tb8dLsUdac8UVesY*8`)\n7. Kattintsunk a \"Create database\" gombra\n8. Miután létrejött az adatbázis, kattintsunk rá, majd kattintsunk a \"Modify\" gombra\n9. A \"Public accessibility\" opciót állítsuk \"Yes\" (Connectivity \u003e Additional configuration)\n10. Kattintsunk a \"Continue\" gombra\n11. Kattintsunk a \"Apply immediately\" gombra\n12. Kattintsunk a \"Modify DB instance\" gombra\n13. Várd meg, amíg a módosítás végrehajtódik\n\n## Kapcsoldás az adatbázishoz\n\nTöbbféle programot hasznélhatunk az adatbázis kezelésére, de most a Beekeeper-t fogjuk használni. Innen tudod letölteni: [Beekeeper](https://www.beekeeperstudio.io/)\n\n1. Telepítsd a Beekeeper-t\n2. Nyisd meg a programot\n3. Kattints a \"New Connection\" gombra\n4. Kapcsolat típusa: MariaDB\n5. Töltsd ki a következő mezőket:\n   - Connection name: AWS RDS\n   - Hostname: az RDS adatbázisunk endpoint-je (ezt megtalálod az RDS konzolban)\n   - Port: 3306\n   - Username: adatgazda\n   - Password: a korábban generált jelszó\n6. Kattints a \"Test\" gombra, hogy ellenőrizd a kapcsolatot\n7. Ha minden rendben van, kattints a \"Save\" gombra\n8. Csatlakozz az adatbázishoz\n\n## Adatbázis létrehozása\n\n1. Nyiss egy új lekérzező (Query) fület\n2. Futtasd le a következő SQL parancsot:\n\n```sql\nCREATE DATABASE cikkek\nCHARACTER SET utf8\nCOLLATE utf8_hungarian_ci;\n\nUSE cikkek;\n\nCREATE TABLE users (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    name VARCHAR(255) NOT NULL\n);\n\nCREATE TABLE posts (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    userId INT,\n    title VARCHAR(255) NOT NULL,\n    content TEXT,\n    FOREIGN KEY (userId) REFERENCES users(id)\n);\n```\n\n## Alkalmazás helyi futtatása\n\n1. Klónozd le a projektet\n2. Telepítsd a szükséges csomagokat: `npm install`\n3. Hozz létre egy `.env` fájlt a projekt gyökérkönyvtárában a következő tartalommal:\n\n```\n# .env file\nDB_USER=\"adatgazda\"\nDB_PASSWORD={RDS jelszava}\nDB_SERVER={RDS endpoint}\nDB_NAME=\"cikkek\"\nDB_PORT=\"3306\"\n```\n\n4. Indítsd el az alkalmazást: `npm start`\n5. Nyisd meg a böngészőt, és látogasd meg a `http://localhost:8080` címet\n\n## Alkalmazás futtatása Elastic Beanstalk segítségével\n\n### EC2 instance profile létrehozása\n\nElastic Beanstalk környezet létrehozásához szükségünk lesz egy EC2 instance profile-ra, amely engedélyezi az EC2 példányoknak a megfelelő hozzáférését.\n\n1. Lépjünk be az AWS konzolba\n2. Keresőbe írjuk be az IAM szolgáltatást\n3. A bal oldali menüben kattintsunk az \"Roles\" menüpontra\n4. A `Trusted entity type` lehetőségek közül válasszuk ki az `AWS service` opciót\n5. A `Choose a use case` lehetőségek közül válasszuk ki az `EC2` opciót\n6. Kattintsunk a \"Next\" gombra\n7. Adjuk hozzá a következő engedélyeket:\n   - AWSElasticBeanstalkWebTier\n   - AWSElasticBeanstalkWorkerTier\n   - AWSElasticBeanstalkMulticontainerDocker\n8. Kattintsunk a \"Next\" gombra\n9. Role name: webalkalmazas-role\n10. Kattintsunk a \"Create role\" gombra\n\n### Elastic Beanstalk környezet létrehozása\n\n1. Lépjünk be az AWS konzolba\n2. Keresőbe írjuk be az Elastic Beanstalk szolgáltatást\n3. Kattintsunk a \"Create environment\" gombra\n4. Töltsük ki a kötelező mezőket\n   - Application name: cikkek\n   - Environment name: cikkek-env\n   - Domain (opcionális): cikkek\n   - Platform: Node.js\n   - Platform branch: Node.js 20\n   - Application code: Sample application\n   - Presets: Single instance\n5. Kattintsunk a \"Next\" gombra\n6. Create and use new service role\n   - Service role name: cikkek-role\n7. EC2 key pair: Create new key pair\n   - Key pair name: cikkek-key\n8. EC2 instance profile: \n   - Instance profile name: webalkalmazas-role\n9. Kattintsunk a \"Next\" gombra\n10. Kattintsunk a \"Skip to review\" gombra\n11. Kattintsunk a \"Submit\" gombra\n\nHa létrejött a példa alkalmazás, adjuk hozzá az alkalmazás számára szükséges adatbázis hozzásférési paramétereket\n\n### Adatbázis hozzáférési paraméterek hozzáadása Elastic Beanstalk környezethez\n\n1. Lépjünk be az AWS konzolba\n2. Keresőbe írjuk be az Elastic Beanstalk szolgáltatást\n3. Kattintsunk a \"cikkek-env\" környezetre\n4. A bal oldali menüben kattintsunk a \"Configuration\" menüpontra\n5. \"Updates, monitoring, and logging\" részben kattintsunk a \"Edit\" gombra\n6. Keressük meg az \"Environment properties\" részt és kattintsunk az \"Add environment property\" gombra\n7. Adjuk hozzá a következő környezeti változókat\n\n| Név         | Érték                                              |\n| ----------- | -------------------------------------------------- |\n| DB_USER     | adatgazda                                          |\n| DB_PASSWORD | {jelszó amit az adatbázis felhasználóhoz megadtál} |\n| DB_SERVER   | {RDS endpoint}                                     |\n| DB_NAME     | cikkek                                             |\n| DB_PORT     | 3306                                               |\n\n8. Kattintsunk a \"Apply\" gombra\n\nPár perc múlva életbe lépnek a változtatások.\n\n### CodePipeline konfigurálása a folyamatos üzembehelyezéshez\n\nVégül CodePipeline segítségével töltsd fel a saját alkalmazásodat:\n\n1. Keresőbe írjuk be a CodePipeline szolgáltatást\n2. Kattintsunk a \"Create pipeline\" gombra\n3. Töltsük ki a kötelező mezőket\n   - Pipeline name: cikkek-pipeline\n   - Pipeline type: V1\n   - Execution mode: Suspended\n   - Service role: New service role\n   - Role name: cikkek-pipeline-role\n4. Kattintsunk a \"Next\" gombra\n5. Source provider: GitHub (Version 2)\n   - Repository: {GitHub repository link}\n   - Branch: main\n6. Kattintsunk a \"Next\" gombra\n7. Build provider: Skip build stage\n8. Deployment provider: Elastic Beanstalk\n   - Application name: cikkek\n   - Environment name: cikkek-env\n9. Kattintsunk a \"Create pipeline\" gombra\n\nAmikor elkészült a pipeline, a GitHub repository-ba feltöltött változások automatikusan frissítik az alkalmazást az Elastic Beanstalk környezetben.\n\nPár perc múlva a [http://cikkek.eu-central-1.elasticbeanstalk.com/](http://cikkek.eu-central-1.elasticbeanstalk.com/) címen elérhető lesz az alkalmazás.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudsteak%2Ftrn-aws-webapp-sql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudsteak%2Ftrn-aws-webapp-sql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudsteak%2Ftrn-aws-webapp-sql/lists"}