{"id":23223804,"url":"https://github.com/guilhermecaz/serverless_portfolio","last_synced_at":"2026-04-09T01:31:04.522Z","repository":{"id":255499816,"uuid":"851963350","full_name":"GuilhermeCAz/serverless_portfolio","owner":"GuilhermeCAz","description":"Serverless portfolio website built using Terraform, AWS, Next.js and Tailwind CSS.","archived":false,"fork":false,"pushed_at":"2024-11-19T21:26:11.000Z","size":1446,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T16:37:50.382Z","etag":null,"topics":["aws","nextjs","portfolio-website","serverless","tailwindcss","terraform"],"latest_commit_sha":null,"homepage":"https://guilhermecaz.site","language":"TypeScript","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/GuilhermeCAz.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,"publiccode":null,"codemeta":null}},"created_at":"2024-09-04T01:40:41.000Z","updated_at":"2024-11-19T21:26:15.000Z","dependencies_parsed_at":"2024-09-05T20:33:19.479Z","dependency_job_id":"9faf4b8c-befc-4bfc-aad0-205a86ad1bb8","html_url":"https://github.com/GuilhermeCAz/serverless_portfolio","commit_stats":null,"previous_names":["guilhermecaz/portfolio_website"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GuilhermeCAz/serverless_portfolio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuilhermeCAz%2Fserverless_portfolio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuilhermeCAz%2Fserverless_portfolio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuilhermeCAz%2Fserverless_portfolio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuilhermeCAz%2Fserverless_portfolio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GuilhermeCAz","download_url":"https://codeload.github.com/GuilhermeCAz/serverless_portfolio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GuilhermeCAz%2Fserverless_portfolio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31581864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["aws","nextjs","portfolio-website","serverless","tailwindcss","terraform"],"created_at":"2024-12-18T23:19:26.715Z","updated_at":"2026-04-09T01:31:04.496Z","avatar_url":"https://github.com/GuilhermeCAz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Serverless Portfolio\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Node.js](https://img.shields.io/badge/Node.js-5FA04E?logo=nodedotjs\u0026logoColor=white)](https://nodejs.org/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org/)\n[![Next.js](https://img.shields.io/badge/Next.js-black?logo=next.js)](https://nextjs.org/)\n[![Terraform](https://img.shields.io/badge/Terraform-844FBA?logo=terraform\u0026logoColor=white)](https://www.terraform.io/)\n[![Amazon S3](https://img.shields.io/badge/Amazon%20S3-569A31?logo=amazons3\u0026logoColor=white)](https://aws.amazon.com/s3/)\n[![AWS IAM](https://img.shields.io/badge/AWS%20IAM-DD344C?logo=amazoniam\u0026logoColor=white)](https://aws.amazon.com/iam/)\n[![Tailwind CSS](https://img.shields.io/badge/Tailwind%20CSS-06B6D4?logo=tailwindcss\u0026logoColor=white)](https://tailwindcss.com/)\n[![PostCSS](https://img.shields.io/badge/PostCSS-DD3A0A?logo=postcss\u0026logoColor=white)](https://postcss.io/)\n[![Prettier](https://img.shields.io/badge/Prettier-darkblue?logo=prettier)](https://prettier.io/)\n[![ESLint](https://img.shields.io/badge/ESLint-4B32C3?logo=eslint)](https://eslint.org/)\n\n## About\n\nThis project is a portfolio website created using [Next.js](https://nextjs.org/). Its main purpose is to showcase my skills and projects, as if it were a resume. It uses Terraform to setup AWS resources (ACM, CloudFront, IAM, S3).\n\nThe DNS Hosting and the domain registration are done elsewhere due to AWS costs, but these two could easily be done exclusively using AWS Route 53. This means that the infrastructure is _not_ fully managed by Terraform, and there are some manual steps to be done.\n\nYou can find the website at [guilhermecaz.site](https://guilhermecaz.site).\n\n## Usage\n\nIf you'd like to build a website based on this project, you can clone the repository, modify the Next.js files, build the project, and use terraform to deploy it to AWS.\n\n### Clone the repository\n\n```bash\ngit clone https://github.com/guilhermecaz/serverless_portfolio.git\n```\n\n### Install dependencies\n\n```bash\ncd serverless_portfolio\nnpm install\n```\n\n### Modify the files according to your needs\n\n```bash\ncd src/app\n```\n\n### Build the project\n\n```bash\nnpm run build\n```\n\n### Deploy the project\n\n```bash\ncd terraform\nterraform init\nterraform apply\n```\n\nTerraform will then output the CloudFront domain and ACM validation records. These should be used on the domain registrar / DNS provider.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguilhermecaz%2Fserverless_portfolio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguilhermecaz%2Fserverless_portfolio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguilhermecaz%2Fserverless_portfolio/lists"}