{"id":15880746,"url":"https://github.com/sdkdeepa/udagram-project3-tips-and-trics","last_synced_at":"2026-02-21T21:01:51.237Z","repository":{"id":138006172,"uuid":"318107537","full_name":"sdkdeepa/Udagram-project3-tips-and-trics","owner":"sdkdeepa","description":null,"archived":false,"fork":false,"pushed_at":"2020-12-03T08:42:17.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T05:27:34.592Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/sdkdeepa.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":"2020-12-03T07:13:37.000Z","updated_at":"2020-12-03T08:42:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"99501456-08ea-4e54-9b03-296a4ba38c4d","html_url":"https://github.com/sdkdeepa/Udagram-project3-tips-and-trics","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sdkdeepa/Udagram-project3-tips-and-trics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdkdeepa%2FUdagram-project3-tips-and-trics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdkdeepa%2FUdagram-project3-tips-and-trics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdkdeepa%2FUdagram-project3-tips-and-trics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdkdeepa%2FUdagram-project3-tips-and-trics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdkdeepa","download_url":"https://codeload.github.com/sdkdeepa/Udagram-project3-tips-and-trics/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdkdeepa%2FUdagram-project3-tips-and-trics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29694011,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T18:18:25.093Z","status":"ssl_error","status_checked_at":"2026-02-21T18:18:22.435Z","response_time":107,"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":[],"created_at":"2024-10-06T03:21:24.208Z","updated_at":"2026-02-21T21:01:51.202Z","avatar_url":"https://github.com/sdkdeepa.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Udagram-project3-tips-and-trics\n\nTo start with you need the following \n\nPre-requisites:\n- You need to have AWS-CLI and the AWS credentials in your system.\n- Kubectl installed\n- aws-iam-authenticator  \n\n\n### Tasks\n1. Refactor the API\n\nThe API code currently contains logic for both /users and /feed endpoints. Let's decompose the API code so that we can have two separate projects that can be run independent of one another.\n\n### Tips\nUsing Git is recommended so you can revert any unwanted changes in your code!\nYou may find yourself copying a lot of duplicate code into the separate projects -- this is expected! For now, focus on breaking apart the monolith and we can focus on cleaning up the application code afterwards.\n\n2. Containerize the Code\n\nStart with creating Dockerfiles for the frontend and backend applications. Each project should have its own Dockerfile.\n\n3. Build CICD Pipeline\n\nAfter setting up your GitHub account to integrate with Travis CI, set up a GitHub repository with a .travis.yml file for a build pipeline to be generated.\n\n##### Screenshots\nSo that we can verify your project’s pipeline is set up properly, please include the screenshots of the following:\n\n   - DockerHub showing images that you have pushed\n   - Travis CI showing a successful build job\n\n4. Deploy to Kubernetes\n\n    Deploy the Docker containers for the API applications and web application as their own pods in AWS EKS.\nWe should be able to see the pods deployed successfully via the command against your EKS cluster:\n\n      `kubectl get pods`\n\n##### Screenshots\nSo that we can verify that your project is deployed, please include the screenshots of the following commands with your completed project:\n\n   - To verify Kubernetes pods are deployed properly\n        `kubectl get pods`\n   - To verify Kubernetes services are properly set up\n        `kubectl describe services`\n   - To verify that you have horizontal scaling set against CPU usage\n        `kubectl describe hpa`\n\n5. Logging\n\nUse logs to capture metrics. This can help us with debugging.\n\n### Screenshots\n- To verify that user activity is logged, please include a screenshot of:\n        `kubectl logs \u003cyour pod name\u003e`\n- Suggestions to Make Your Project Stand Out (Optional)\n- Try one or more of these to take your project to the next level.\n\n### Reduce Duplicate Code\nWhen we decomposed our API code into two separate applications, we likely had a lot of duplicate code. Optionally, you could reduce the duplicate code by abstracting them into a common library.\n\n### Secure the API\nThe API is only meant to be consumed by the frontend web application. Let's set up ingress rules so that only web requests from our web application can make successful API requests.\n\n### Submission Requirements\nThe project will be submitted as a link to a GitHub repo or a zip file and should include screenshots to document the application's infrastructure.\n\n### Required Screenshots\n- Docker images in your repository in DockerHub\n- TravisCI build pipeline showing successful build jobs\n- Kubernetes `kubectl get pods` output\n- Kubernetes `kubectl describe services` output\n- Kubernetes `kubectl describe hpa` output\n- Kubernetes `kubectl logs \u003cyour pod name\u003e` output\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdkdeepa%2Fudagram-project3-tips-and-trics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsdkdeepa%2Fudagram-project3-tips-and-trics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdkdeepa%2Fudagram-project3-tips-and-trics/lists"}