{"id":24929547,"url":"https://github.com/unit2795/djoz-portfolio","last_synced_at":"2026-04-08T12:34:22.580Z","repository":{"id":274947154,"uuid":"910369878","full_name":"Unit2795/djoz-portfolio","owner":"Unit2795","description":"A simple, lightning-fast, SEO-optimized portfolio website built in React with automated AWS deployment using Terraform and GitHub Actions","archived":false,"fork":false,"pushed_at":"2025-02-21T06:32:03.000Z","size":13179,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T13:11:26.449Z","etag":null,"topics":["aws","eslint","github-actions","lambda-functions","portfolio-template","portfolio-website","react","tailwindcss","terraform","vite","website"],"latest_commit_sha":null,"homepage":"https://djoz.us/","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/Unit2795.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-12-31T05:14:00.000Z","updated_at":"2025-02-21T06:32:06.000Z","dependencies_parsed_at":"2025-02-21T07:35:28.140Z","dependency_job_id":null,"html_url":"https://github.com/Unit2795/djoz-portfolio","commit_stats":null,"previous_names":["unit2795/djoz-portfolio"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unit2795%2Fdjoz-portfolio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unit2795%2Fdjoz-portfolio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unit2795%2Fdjoz-portfolio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unit2795%2Fdjoz-portfolio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Unit2795","download_url":"https://codeload.github.com/Unit2795/djoz-portfolio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246034298,"owners_count":20712857,"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":["aws","eslint","github-actions","lambda-functions","portfolio-template","portfolio-website","react","tailwindcss","terraform","vite","website"],"created_at":"2025-02-02T13:20:05.898Z","updated_at":"2025-12-30T19:26:42.750Z","avatar_url":"https://github.com/Unit2795.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# David's Portfolio Template\n\n\u003e A lightning-fast, SEO-optimized portfolio website with automated AWS deployment\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"./docs/assets/demo.gif\" alt=\"David's Portfolio demo while scrolling\" width=\"800\"/\u003e\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\u003ca target=\"_blank\" href=\"https://djoz.us/\"\u003e\u003cimg src=\"./docs/assets/button.png\" alt=\"Click to visit the live website\" width=\"200\"/\u003e\u003c/a\u003e\u003c/p\u003e\n\n- [David's Portfolio Template](#davids-portfolio-template)\n  - [Links](#links)\n  - [Overview](#overview)\n    - [⚡️ **Performance**](#️-performance)\n    - [🎨 **Design \\\u0026 Accessibility**](#-design--accessibility)\n    - [🚀 **API \\\u0026 Deployment**](#-api--deployment)\n  - [Key Technologies](#key-technologies)\n  - [License](#license)\n  - [Contributing](#contributing)\n\n## Links\n\n[About](./docs/about.md) | [Setup Guide](./docs/setup.md) | [Deployment Guide](./docs/deployment.md) | [Analytics](./docs/analytics.md) | [Live Demo](https://djoz.us/) | [Use This Template](https://github.com/Unit2795/djoz-portfolio/generate)\n\n## Overview\n\n- Thank you for checking out my portfolio template! It's built in [Astro](https://astro.build/) with vanilla HTML, JS, and [Tailwind CSS](https://tailwindcss.com/).\n- The site is deployed using [Terraform](https://www.terraform.io/), [GitHub Actions](https://docs.github.com/en/actions), and [AWS](https://aws.amazon.com/).\n- This site includes its own optional contact form API with anti-spam protection and a [simple analytics API](./docs/analytics.md) with a local dashboard to visualize analytics data.\n- Click [\"use this template\"](https://github.com/Unit2795/djoz-portfolio/generate) and follow the instructions in the [Setup Guide](./docs/setup.md) if you'd like to set up a copy of this website for yourself! Optionally, use the [Deployment Guide](./docs/deployment.md) to deploy to AWS.\n- Want to learn more about the reasoning behind the implementation of this portfolio, other helpful context, or FAQs? See the [About page](./docs/about.md)\n- Need help or have a suggestion? Please create a GitHub issue.\n- This is an ongoing project being actively updated\n\n\u003e ℹ️ Note: This portfolio is an experimental testbed and proof of concept for my very specific use-case. It is subject to change abruptly.\n\n### ⚡️ **Performance**\n\n- Statically rendered with deeply customizable CMS content (Entire site is under 30KB compressed)\n- CDN-powered global delivery\n- Functional without Javascript\n- CSS/JS is built into the html file to reduce network requests\n- Only 15 KB of JS uncompressed\n- 100/100 [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview) score\n\n### 🎨 **Design \u0026 Accessibility**\n\n- Modern glassmorphic design\n- Responsive down to 320 pixel width\n- Easy content customization through a single file ([content/index.ts](./client/src/content/index.ts))\n- Fully accessible. Reads well with screen readers, can zoom to 200%, high contrast, large clickable regions, semantic HTML and aria attributes. Working towards WCAG 2.2 AA conformance\n- Eye-catching animations, disabled if user prefers reduced motion\n\n### 🚀 **API \u0026 Deployment**\n\n- Automated, low-cost, and secure AWS deployment (less than $2 per month) using Terraform for easy setup\n- GitHub Actions for CI/CD when code changes\n- CloudFormation script for bootstrapping Terraform state storage in AWS S3 \u0026 DynamoDB\n- Contact form and analytics APIs with abuse protection\n\n## Key Technologies\n\n- [Astro](https://astro.build/)\n  - Library for building the static generated site\n- [Tailwind CSS](https://tailwindcss.com/)\n  - Utility-first CSS styling\n- [TypeScript](https://www.typescriptlang.org/)\n  - Type safety for the site\n- [PNPM](https://pnpm.io/)\n  - Efficient package manager\n- [ESLint](https://eslint.org/)\n  - Code linter\n- [Prettier](https://prettier.io/)\n  - Code formatting\n- [Vite](https://vite.dev/)\n  - Build tool used by Astro\n- [Node.js](https://nodejs.org/en/)\n  - JavaScript runtime for Lambda functions\n- [AWS](https://aws.amazon.com/)\n  - Cloud provider for the site and APIs\n- [Terraform](https://www.terraform.io/)\n  - Infrastructure as Code library that deploys the site and manages resources\n- [GitHub Actions](https://github.com/features/actions)\n  - Automates the deployment of the site to AWS using Terraform and Linux\n- [CloudFormation](https://aws.amazon.com/cloudformation/)\n  - Bootstraps the Terraform state backend in AWS\n- [Next.js](https://nextjs.org/)\n  - Used for the local analytics dashboard\n- [DuckDB](https://duckdb.org/)\n  - Database for analytics report generation\n- [Recharts](https://recharts.org/en-US/)\n  - Simple charting library for analytics dashboard\n- [Shadcn/ui](https://ui.shadcn.com/)\n  - Component library for analytics dashboard\n- [Tanstack Table](https://tanstack.com/table)\n  - Table library for analytics dashboard\n\n## License\n\nThis project is licensed under the MIT License. You are free to use, modify, and distribute this code as you see fit. See the [LICENSE](./LICENSE) file for more information.\n\n## Contributing\n\nIf you have any suggestions, improvements, or issues, please create a GitHub issue or a pull request. Feedback welcome!\n\n---\n\n\u003cdiv align=\"center\"\u003e\u003cimg src=\"./docs/assets/analytics.jpg\" alt=\"Analytics Dashboard\" width=\"400\"/\u003e\u003cp\u003e\u003ci\u003eAnalytics Dashboard\u003c/i\u003e\u003c/p\u003e\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\u003cimg src=\"./docs/assets/lighthouse.jpg\" alt=\"Lighthouse Score\" width=\"400\"/\u003e\u003cp\u003e\u003ci\u003eLighthouse Score\u003c/i\u003e\u003c/p\u003e\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funit2795%2Fdjoz-portfolio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funit2795%2Fdjoz-portfolio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funit2795%2Fdjoz-portfolio/lists"}