{"id":77,"date":"2026-01-19T17:06:15","date_gmt":"2026-01-19T17:06:15","guid":{"rendered":"https:\/\/ukam-portfolio.com\/?page_id=77"},"modified":"2026-01-28T20:23:11","modified_gmt":"2026-01-28T20:23:11","slug":"image-uploader","status":"publish","type":"page","link":"https:\/\/ukam-portfolio.com\/index.php\/image-uploader\/","title":{"rendered":"Image Uploader"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"77\" class=\"elementor elementor-77\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1e4223d e-flex e-con-boxed e-con e-parent\" data-id=\"1e4223d\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4dc58ff8 elementor-widget elementor-widget-text-editor\" data-id=\"4dc58ff8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>This project is a temporary image storage application that allows the user to upload images that delete after 1 day. The user also has the option to delete the photo before the expiration date.<br><\/p>\n<ul>\n<li><span style=\"font-family: inherit; font-size: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: inherit;\">Cloudformation is used to create all the resources needed to build this project<\/span><\/li>\n<li><span style=\"font-family: inherit; font-size: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: inherit;\">EC2 is used as the Web Server to host the application<\/span><\/li>\n<li><span style=\"font-family: inherit; font-size: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: inherit;\">S3 is used to store all images<\/span><\/li>\n<li><span style=\"font-family: inherit; font-size: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: inherit;\">IAM is used to allow the Web Server to interact with the S3 bucket<\/span><\/li>\n<li>IAM is also used to give the Systems Manager access to the web server, which allows remote access using ssh without exposing Port 22<\/li>\n<li>Route 53 is used for DNS resolution<\/li>\n<li><span style=\"font-family: inherit; font-size: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: inherit;\">Cloudfront is used for SSL encryption and to improve image retrieval speed<\/span><\/li>\n<li><span style=\"font-family: inherit; font-size: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: inherit;\">Parameter store is used for credential storage&nbsp;<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-620feec e-flex e-con-boxed e-con e-parent\" data-id=\"620feec\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-14d78ba elementor-widget elementor-widget-heading\" data-id=\"14d78ba\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Security Measures:<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e6900ea elementor-widget elementor-widget-text-editor\" data-id=\"e6900ea\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul style=\"font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; font-size: 16px; font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Helvetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; padding-inline-start: 40px; margin-block-end: 24px;\"><li>EBS volume encryption<\/li><li>S3 encryption<\/li><li>Port 22 disabled<\/li><li>SSL\/HTTPS enabled<\/li><li>Web traffic filtered with cloudfront<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5eb2ea8 e-flex e-con-boxed e-con e-parent\" data-id=\"5eb2ea8\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-06b8ef8 elementor-widget elementor-widget-heading\" data-id=\"06b8ef8\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Screenshots:<\/h3>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c38a0b0 e-grid e-con-boxed e-con e-parent\" data-id=\"c38a0b0\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-691d6c7 e-con-full e-flex e-con e-child\" data-id=\"691d6c7\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a56ea61 elementor-widget elementor-widget-image\" data-id=\"a56ea61\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/upload.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"upload\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjE1LCJ1cmwiOiJodHRwczpcL1wvdWthbS1wb3J0Zm9saW8uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wMVwvdXBsb2FkLnBuZyJ9\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"964\" height=\"885\" src=\"https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/upload.png\" class=\"attachment-large size-large wp-image-215\" alt=\"\" srcset=\"https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/upload.png 964w, https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/upload-300x275.png 300w, https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/upload-768x705.png 768w\" sizes=\"(max-width: 964px) 100vw, 964px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\"><\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6256bb5 e-con-full e-flex e-con e-child\" data-id=\"6256bb5\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-26b5cdb elementor-widget elementor-widget-image\" data-id=\"26b5cdb\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/uploaded.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"uploaded\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjEzLCJ1cmwiOiJodHRwczpcL1wvdWthbS1wb3J0Zm9saW8uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wMVwvdXBsb2FkZWQucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"887\" height=\"895\" src=\"https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/uploaded.png\" class=\"attachment-large size-large wp-image-213\" alt=\"\" srcset=\"https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/uploaded.png 887w, https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/uploaded-297x300.png 297w, https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/uploaded-150x150.png 150w, https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/uploaded-768x775.png 768w\" sizes=\"(max-width: 887px) 100vw, 887px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0a24f94 e-con-full e-flex e-con e-child\" data-id=\"0a24f94\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dd1d8a0 elementor-widget elementor-widget-image\" data-id=\"dd1d8a0\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/delete.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"delete\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjExLCJ1cmwiOiJodHRwczpcL1wvdWthbS1wb3J0Zm9saW8uY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI2XC8wMVwvZGVsZXRlLnBuZyJ9\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"849\" height=\"900\" src=\"https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/delete.png\" class=\"attachment-large size-large wp-image-211\" alt=\"\" srcset=\"https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/delete.png 849w, https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/delete-283x300.png 283w, https:\/\/ukam-portfolio.com\/wp-content\/uploads\/2026\/01\/delete-768x814.png 768w\" sizes=\"(max-width: 849px) 100vw, 849px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>This project is a temporary image storage application that allows the user to upload images that delete after 1 day. The user also has the option to delete the photo before the expiration date. Cloudformation is used to create all the resources needed to build this project EC2 is used as the Web Server to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-77","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/ukam-portfolio.com\/index.php\/wp-json\/wp\/v2\/pages\/77","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ukam-portfolio.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ukam-portfolio.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ukam-portfolio.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ukam-portfolio.com\/index.php\/wp-json\/wp\/v2\/comments?post=77"}],"version-history":[{"count":45,"href":"https:\/\/ukam-portfolio.com\/index.php\/wp-json\/wp\/v2\/pages\/77\/revisions"}],"predecessor-version":[{"id":376,"href":"https:\/\/ukam-portfolio.com\/index.php\/wp-json\/wp\/v2\/pages\/77\/revisions\/376"}],"wp:attachment":[{"href":"https:\/\/ukam-portfolio.com\/index.php\/wp-json\/wp\/v2\/media?parent=77"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}