{"id":23903022,"url":"https://github.com/andyfrith/portfolio-admin","last_synced_at":"2026-04-30T20:31:26.281Z","repository":{"id":270512198,"uuid":"910598748","full_name":"andyfrith/portfolio-admin","owner":"andyfrith","description":"This frontend application is used for administration of the content presented in the portfolio website for Andy Frith.  The application is engineered with Next.js 15, React v19 and TanStack Query v5. The API service, portolio-api (built with the Hono Javascript framework) provides an interface to a PostgreSQL database.","archived":false,"fork":false,"pushed_at":"2025-01-03T15:56:40.000Z","size":640,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-23T10:45:02.144Z","etag":null,"topics":["nextjs","react","shadcn-ui","tailwindcss","tanstack-query"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/andyfrith.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":"2024-12-31T19:02:49.000Z","updated_at":"2025-01-03T15:56:44.000Z","dependencies_parsed_at":"2024-12-31T20:28:59.368Z","dependency_job_id":"9c024c42-d93e-473e-b7de-d9b52e482a51","html_url":"https://github.com/andyfrith/portfolio-admin","commit_stats":null,"previous_names":["andyfrith/portfolio-admin"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andyfrith/portfolio-admin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyfrith%2Fportfolio-admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyfrith%2Fportfolio-admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyfrith%2Fportfolio-admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyfrith%2Fportfolio-admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andyfrith","download_url":"https://codeload.github.com/andyfrith/portfolio-admin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andyfrith%2Fportfolio-admin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32476682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"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":["nextjs","react","shadcn-ui","tailwindcss","tanstack-query"],"created_at":"2025-01-04T22:51:59.816Z","updated_at":"2026-04-30T20:31:26.222Z","avatar_url":"https://github.com/andyfrith.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca id=\"readme-top\"\u003e\u003c/a\u003e\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![Unlicense License][license-shield]][license-url]\n[![LinkedIn][linkedin-shield]][linkedin-url]\n\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003c!-- \u003ca href=\"https://github.com/andyfrith/portfolio-admin\"\u003e\n    \u003cimg src=\"./public/logo.png\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e --\u003e\n\n  \u003ch3 align=\"center\"\u003ePortfolio Admin\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    This frontend application is used for administration of the content presented in the portfolio website for Andy Frith.  The application is engineered with Next.js 15, React v19 and TanStack Query v5. The API service, portolio-api (built with the Hono Javascript framework) provides an interface to a PostgreSQL database.  Currently, this demo application is not publicly available.  Future enhancements may inclue security and authorizations features.\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/andyfrith/portfolio-admin\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \n\u003c/div\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#acknowledgments\"\u003eAcknowledgments\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## About The Project\n\n[![Product Name Screen Shot][product-screenshot]](https://github.com/andyfrith/portfolio-admin)\n\nNext.js is \"The React Framework for the Web\" and perfect for building a UI admin tool. TanStack Query provides the best API (REST) interface client library. Shadcn provides excellent components. TailwindCSS makes styling with CSS a breeze.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Built With\n\n[![Typescript][Typescript]][Typescript-url]\n[![Nextjs][Nextjs]][Nextjs-url]\n[![React][React]][React-url]\n[![ReactQuery][ReactQuery]][ReactQuery-url]\n[![Zod][Zod]][Zod-url]\n[![TailwindCSS][TailwindCSS]][TailwindCSS-url]\n[![Shadcn][Shadcn]][Shadcn-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Data Model\n\n![Data Model Screen Shot][data-model-screenshot]\n\n## Getting Started\n\n### Prerequisites\n\nThis application requires acesss to the \u003ca href=\"https://github.com/andyfrith/portfolio-admin\"\u003eportfolio-api\u003c/a\u003e service.\n\n### Installation\n\nThis application is not publicly available. Currently, it is not meant to be installed and used by anyone other than the author.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Usage\n\nCurrently, this application is not meant to be installed and used by anyone other than the author.\n\n_For more examples, please refer to the imaginary [Documentation](https://example.com)_\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Roadmap\n\n- [] Add security and authorizations features.\n- [] Deploy to pulicly available location.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Top contributors:\n\n\u003ca href=\"https://github.com/andyfrith/portfolio-admin/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=andyfrith/portfolio-admin\" alt=\"contrib.rocks image\" /\u003e\n\u003c/a\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## License\n\nDistributed under the Unlicense License. See `LICENSE.txt` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Contact\n\nAndy Frith - [LinkedIn](https://www.linkedin.com/in/goodapplemedia/) - afrith.denver.usa@gmail.com\n\nProject Link: [https://github.com/andyfrith/portfolio-admin](https://www.linkedin.com/in/goodapplemedia/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Acknowledgments\n\nMe.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n[contributors-shield]: https://img.shields.io/github/contributors/andyfrith/password-strength-checker.svg?style=for-the-badge\n[contributors-url]: https://github.com/andyfrith/password-strength-checker/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/andyfrith/password-strength-checker.svg?style=for-the-badge\n[forks-url]: https://github.com/andyfrith/password-strength-checker/network/members\n[stars-shield]: https://img.shields.io/github/stars/andyfrith/password-strength-checker.svg?style=for-the-badge\n[stars-url]: https://github.com/andyfrith/password-strength-checker/stargazers\n[issues-shield]: https://img.shields.io/github/issues/andyfrith/password-strength-checker.svg?style=for-the-badge\n[issues-url]: https://github.com/andyfrith/password-strength-checker/issues\n[license-shield]: https://img.shields.io/github/license/andyfrith/password-strength-checker.svg?style=for-the-badge\n[license-url]: https://github.com/andyfrith/password-strength-checker/blob/master/LICENSE.txt\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://www.linkedin.com/in/goodapplemedia/\n[product-screenshot]: /screenshot.png\n[data-model-screenshot]: /datamodel-v0.1.png\n[Hono]: https://img.shields.io/badge/Hono-E36002?logo=hono\u0026logoColor=fff\n[Hono-url]: https://hono.dev/\n[Zod]: https://img.shields.io/badge/-Zod-3E67B1?style=flat\u0026logo=zod\u0026logoColor=white\n[Zod-url]: https://zod.dev/\n[Drizzle]: https://img.shields.io/badge/Drizzle-C5F74F?logo=drizzle\u0026logoColor=000\u0026style=flat\n[Drizzle-url]: https://orm.drizzle.team/\n[PostgreSQL]: https://img.shields.io/badge/PostgreSQL-4169E1?logo=postgresql\u0026logoColor=fff\u0026style=flat\n[PostgreSQL-url]: https://www.postgresql.org/\n[Typescript]: https://shields.io/badge/TypeScript-3178C6?logo=TypeScript\u0026logoColor=FFF\u0026style=flat-square\n[Typescript-url]: https://www.typescriptlang.org/\n[Nextjs]: https://img.shields.io/badge/next.js-000000?style=for-the-badge\u0026logo=nextdotjs\u0026logoColor=white\n[Nextjs-url]: https://nextjs.org/\n[React]: https://img.shields.io/badge/-ReactJs-61DAFB?logo=react\u0026logoColor=white\u0026style=for-the-badge\n[React-url]: https://react.dev/\n[ReactQuery]: https://img.shields.io/badge/-React%20Query-FF4154?style=plastic\u0026logo=react%20query\u0026logoColor=white\n[ReactQuery-url]: https://tanstack.com/query/latest\n[TailwindCSS]: https://img.shields.io/badge/tailwindcss-0F172A?\u0026logo=tailwindcss\n[TailwindCSS-url]: https://tailwindcss.com/\n[Shadcn]: https://img.shields.io/badge/shadcn%2Fui-000?logo=shadcnui\u0026logoColor=fff\u0026style=for-the-badge\n[Shadcn-url]: https://ui.shadcn.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandyfrith%2Fportfolio-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandyfrith%2Fportfolio-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandyfrith%2Fportfolio-admin/lists"}