{"id":19030586,"url":"https://github.com/alexbsoft/nft-project-nextjs","last_synced_at":"2026-05-02T18:30:16.697Z","repository":{"id":189576370,"uuid":"676181165","full_name":"AlexBSoft/nft-project-nextjs","owner":"AlexBSoft","description":null,"archived":false,"fork":false,"pushed_at":"2023-10-21T07:46:42.000Z","size":114,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-02T03:45:15.610Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://nft-project-nextjs-delta.vercel.app","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/AlexBSoft.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":"2023-08-08T15:59:36.000Z","updated_at":"2023-08-08T16:01:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"80bc8f9e-614b-4bc2-b300-7bb56288b771","html_url":"https://github.com/AlexBSoft/nft-project-nextjs","commit_stats":null,"previous_names":["alexbsoft/nft-project-nextjs"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexBSoft%2Fnft-project-nextjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexBSoft%2Fnft-project-nextjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexBSoft%2Fnft-project-nextjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexBSoft%2Fnft-project-nextjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlexBSoft","download_url":"https://codeload.github.com/AlexBSoft/nft-project-nextjs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240079639,"owners_count":19744725,"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":[],"created_at":"2024-11-08T21:18:39.450Z","updated_at":"2026-05-02T18:30:16.646Z","avatar_url":"https://github.com/AlexBSoft.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NFT веб приложуха\n\n## Что нужно знать\n\nПроект построен на библиотеке NextJS - Это React со встроенным бэкендом. За внешний вид отвечает библиотека TailwindCSS. Для базы данных используется сервис Supabase - это база данных PostgreSQL в облаке, бэкенд к ней подключается.\n\n\n### Как верстать?\n\nЧтобы добавить что-то на страницу, например кнопку, нужно сначала посмотреть компоненты [https://daisyui.com/components/button/](https://daisyui.com/components/button/), можно просто скопировать код оттуда и готово! Весь сайт так и сверстан из готовых компонентов.\n\n### Как добавить страницу?\n\nNextJS 13 имеет встроенный роутер, страницы находятся в директории `app`. Чтобы добавть страницу _chicken_ надо создать файл `app/chicken/page.tsx` и там сделать описать страницу.\n\nСтраницы NextJS немного отличаются от страниц стандартного React, а именно, что нельзя использовать все функции, так как страницы по умолчанию - _серверные_ . Если случаются непонятные ошибки на новой странцие, проверь, не используешь ли ты клиентские функции. Если используешь, то просто создай отдельный компонент, в началае файла напиши `'use client';` и подключи его на страницу.\n\n## TODO\n\nЗадания по проекту\n\n- [ ] На главной странице проверять вошел ли пользователь в аккаунт. Если не вошел, то вместо кнопки \"Создать NFT\" - показать кнопку \"Войти\" - которая должна вести на страницу /login. Сделать по аналогии с кнопками войти/выйти в компоненте \"Navbar.tsx\"\n- [ ] Сделать компонент Footer, вынести туда надпись \"Создано в Таганроге\" и добавить его на каждую страницу\n- [ ] Сделать красивую страницу NFT - `nft/[id]/page.tsx` используя компоненты https://daisyui.com/components/\n- [ ] Создать отдельный компонент карточки NFT `NftCard.tsx` и подключить его на страницах `app/page.tsx` и `profile/[id]/page.tsx`. В этот компонент передавать объект NFT из базы.\n- [ ] В `NftCard.tsx` делать цвет тени (\"shadow\") в зависимости от цвета, который указан в NFT при создании\n- [ ] На странице `nft/[id]/page.tsx` сделать обработку случая, когда NFT в базе не найден (возможно указан рандомный id) -- просто проверять что `nft[0]` не false. Если NFT не найден, то выводить сообщение о том, что он не найден.\n- [ ] Сделать красивую страницу входа/регистрации. Может даже разделить её на 2 страницы.\n\n# Supabase Starter\n\nThis starter configures Supabase Auth to use cookies, making the user's session available throughout the entire Next.js app - Client Components, Server Components, Route Handlers, Server Actions and Middleware.\n\n## Deploy your own\n\nThe Vercel deployment will guide you through creating a Supabase account and project. After installation of the Supabase integration, all relevant environment variables will be set up so that the project is usable immediately after deployment 🚀\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/vercel/next.js/tree/canary/examples/with-supabase\u0026project-name=nextjs-with-supabase\u0026repository-name=nextjs-with-supabase\u0026integration-ids=oac_jUduyjQgOyzev1fjrW83NYOv)\n\n## How to use\n\n1. Create a [new Supabase project](https://database.new)\n1. Run `npx create-next-app -e with-supabase` to create a Next.js app using the Supabase Starter template\n1. Use `cd` to change into the app's directory\n1. Run `npm install` to install dependencies\n1. Rename `.env.local.example` to `.env.local` and update the values for `NEXT_PUBLIC_SUPABASE_URL` and `NEXT_PUBLIC_SUPABASE_ANON_KEY` from [your Supabase project's API settings](https://app.supabase.com/project/_/settings/api)\n1. Run `npm run dev` to start the local development server\n\n\u003e Check out [the docs for Local Development](https://supabase.com/docs/guides/getting-started/local-development) to also run Supabase locally.\n\n### Create a Supabase client\n\nCheck out the [`/app/_examples`](./app/_examples/) folder for an example of creating a Supabase client in:\n\n- [Client Components](./app/_examples/client-component/page.tsx)\n- [Server Components](./app/_examples/server-component/page.tsx)\n- [Route Handlers](./app/_examples/route-handler/route.ts)\n- [Server Actions](./app/_examples/server-action/page.tsx)\n\n### Create `todo` table and seed with data (optional)\n\nNavigate to [your project's SQL Editor](https://app.supabase.com/project/_/sql), click `New query`, paste the contents of the [init.sql](./supabase/migrations/20230618024722_init.sql) file and click `RUN`.\n\nThis will create a basic `todos` table, enable Row Level Security (RLS), and write RLS policies enabling `select` and `insert` actions for `authenticated` users.\n\nTo seed your `todos` table with some dummy data, run the contents of the [seed.sql](./supabase/seed.sql) file.\n\n## Feedback and issues\n\nPlease file feedback and issues over on the [Supabase GitHub org](https://github.com/supabase/supabase/issues/new/choose).\n\n## More Supabase examples\n\n- [Next.js Subscription Payments Starter](https://github.com/vercel/nextjs-subscription-payments)\n- [Cookie-based Auth and the Next.js 13 App Router (free course)](https://youtube.com/playlist?list=PL5S4mPUpp4OtMhpnp93EFSo42iQ40XjbF)\n- [Supabase Auth and the Next.js App Router](https://github.com/supabase/supabase/tree/master/examples/auth/nextjs)\n- [Next.js Auth Helpers Docs](https://supabase.com/docs/guides/auth/auth-helpers/nextjs)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexbsoft%2Fnft-project-nextjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexbsoft%2Fnft-project-nextjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexbsoft%2Fnft-project-nextjs/lists"}