{"id":26816475,"url":"https://github.com/reinaldo-vombo/ecommer-shop","last_synced_at":"2026-04-11T07:37:58.302Z","repository":{"id":271302192,"uuid":"911464845","full_name":"reinaldo-vombo/ecommer-shop","owner":"reinaldo-vombo","description":"FullStack Nextjs E-commerce app","archived":false,"fork":false,"pushed_at":"2025-04-14T16:48:27.000Z","size":16111,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-25T13:33:00.789Z","etag":null,"topics":["dropzone","nextjs","prisma-orm","react-hook-form","reactjs","shadcn-ui","tailwindcss","typescript"],"latest_commit_sha":null,"homepage":"https://nivia-shop.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/reinaldo-vombo.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,"zenodo":null}},"created_at":"2025-01-03T04:46:38.000Z","updated_at":"2025-04-14T16:48:31.000Z","dependencies_parsed_at":"2025-04-14T17:51:03.838Z","dependency_job_id":"f6e99410-8f5d-4e2a-a043-d5bff0e2be34","html_url":"https://github.com/reinaldo-vombo/ecommer-shop","commit_stats":null,"previous_names":["reinaldo-vombo/ecommer-shop"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/reinaldo-vombo/ecommer-shop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reinaldo-vombo%2Fecommer-shop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reinaldo-vombo%2Fecommer-shop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reinaldo-vombo%2Fecommer-shop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reinaldo-vombo%2Fecommer-shop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reinaldo-vombo","download_url":"https://codeload.github.com/reinaldo-vombo/ecommer-shop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reinaldo-vombo%2Fecommer-shop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31673067,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["dropzone","nextjs","prisma-orm","react-hook-form","reactjs","shadcn-ui","tailwindcss","typescript"],"created_at":"2025-03-30T03:20:10.383Z","updated_at":"2026-04-11T07:37:58.275Z","avatar_url":"https://github.com/reinaldo-vombo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Next.js Commerce\n\n# Apresentação | Introduction\n\n`PT`\nUm aplicativo de comércio eletrônico Next.js App Router de alto desempenho e renderizado por servidor.\n\n`EN`\nA high-performance, server-rendered Next.js App Router ecommerce application.\n\nThis template uses React Server Components, Server Actions, `Suspense`, `useOptimistic`, and more.\n\n[![Demo Image](/public/demo.png)]\n\n## Root Layout (Desktop)\n\n# Image Gallery\n\n## Desktop Views\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"/public/Desktop-home.png\" alt=\"Home Page\" width=\"300\" /\u003e\n      \u003cp align=\"center\"\u003eHome Page\u003c/p\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"/public/Desktop-cart.png\" alt=\"Product Page\" width=\"300\" /\u003e\n      \u003cp align=\"center\"\u003eCart page\u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"/public/Deskpot-product.png\" alt=\"Checkout Page\" width=\"300\" /\u003e\n      \u003cp align=\"center\"\u003eProduct page\u003c/p\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"/public/Desktop-wishlist.png\" alt=\"Profile Page\" width=\"300\" /\u003e\n      \u003cp align=\"center\"\u003eWishlist page\u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Mobile Views\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"/public/Mobile-home-1.png\" alt=\"Home Page Mobile\" width=\"200\" /\u003e\n      \u003cp align=\"center\"\u003eHome page\u003c/p\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"/public/Mobile-profile-1.png\" alt=\"Product Page Mobile\" width=\"200\" /\u003e\n      \u003cp align=\"center\"\u003eProfile page\u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"/public/Mobile-profile-2.png\" alt=\"Checkout Page Mobile\" width=\"200\" /\u003e\n      \u003cp align=\"center\"\u003eProfile page\u003c/p\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"/public/Mobile-profile-3.png\" alt=\"Profile Page Mobile\" width=\"200\" /\u003e\n      \u003cp align=\"center\"\u003eProfile Page\u003c/p\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"/public/Mobile-profile-4.png\" alt=\"Profile Page Mobile\" width=\"200\" /\u003e\n      \u003cp align=\"center\"\u003eProfile Page\u003c/p\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"/public/Mobile-product.png\" alt=\"Profile Page Mobile\" width=\"200\" /\u003e\n      \u003cp align=\"center\"\u003eProduct modal\u003c/p\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"/public/Mobile-cart.png\" alt=\"Profile Page Mobile\" width=\"200\" /\u003e\n      \u003cp align=\"center\"\u003eCart modal\u003c/p\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"/public/Mobile-search.png\" alt=\"Profile Page Mobile\" width=\"200\" /\u003e\n      \u003cp align=\"center\"\u003eSearch modal\u003c/p\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"/public/Mobile-search-2.png\" alt=\"Profile Page Mobile\" width=\"200\" /\u003e\n      \u003cp align=\"center\"\u003eSearch modal\u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Private Layout (Desktop)\n\n`PT`\nEsté projecto contém o seu dashbord(CMS) para gestão de contéudo. De momento apenas a rota do productos está disponivel para executar (CRUD)\n\n`EN`\nThis project contains its own dashboard (CMS) for content management. At the moment only the product route is available to run (CRUD)\n\n## Imagem do Painel\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"/red\" alt=\"Home Page Mobile\" width=\"200\" /\u003e\n      \u003cp align=\"center\"\u003eHome page\u003c/p\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Root Layout (Mobile)\n\n`PT`\nNeste projecto eu estou fazer com uma aplicação ajá e parece um aplicativo mobile native, com o poder CSS in JS quase que cheguei lá, estou começando sei não tão nativo assim mais vou chegar lá, me diz ochou da versão mobile abra no seu telefone\n\n`EN`\nIn this project I'm making a web application that looks like a native mobile application, with the power of CSS in JS I've almost gotten there, I'm just starting out, I know it's not quite as native as that, but I'll get there, tell me what you think of the mobile version, open it on your phone\n\n---\n\n## Private Layout (Mobile)\n\n---\n\n## Core Features | Funcionalidades Principais\n\n---\n\n## Features | Funcionalidades\n\n### Authentication | Autenticação\n\n- [x] Layout\n  - [x] Login\n  - [x] Register | Registar\n  - [x] Recover Password | Recuperar palavra-passe\n  - [x] Send recovery email | Enviar email com código de recuperação\n  - [x] Reset Password | Alterar palavra-passe\n  - [x] Logout | Sair\n\n### Root Layout\n\n- [x] List Products | Listar produtos\n- [x] Filter Products | Filtrar produtos\n- [x] Product Preview | Previsualizar produto\n- [x] Add to Cart | Adicionar ao carrinho\n- [x] Add to Favorites | Adicionar aos favoritos\n- [x] Checkout Page | Página de checkout\n- [x] Search Products | Pesquisar produto\n- [ ] Generate Receipt on Purchase | Gerar recibo ao comprar\n- [ ] Evaluate product | Avaliar producto\n\n### Private Layout\n\n- [x] Profile Page | Página de perfil\n- [x] Create Product | Criar produto\n- [x] Edit Product | Editar produto\n- [x] Delete Product | Excluir produto\n- [x] View Product | Visualizar produto\n- [x] List Products in Table | Listar produtos na tabela\n- [ ] Create new user | Cadastrar útilizador\n- [ ] Permition gard | Gerenciamento de permissõe\n- [ ] Analiticys chart | Gráficos analiticos\n- [ ] Add Coupon | Adicionar cupão\n- [ ] Manage Categories, Coupons, etc. | Gerenciar categorias, cupões e outros\n- [ ] List Orders in Table | Listar encomendas na tabela\n- [ ] List Registered Users | Listar utilizadores registrados\n\n### Manage Coupons | Gerenciar Cupões\n\n- [ ] Create | Criar\n- [ ] Edit | Editar\n- [ ] Delete | Excluir\n\n### User Interactions | Interações do Utilizador\n\n- [x] Comment on a Product | Comentar em um produto\n- [x] Select Sizes | Escolher tamanhos\n\n---\n\n## Futuras Funcionalidades e Páginas | Future Features and Pages\n\n### Root Layout\n\n- [ ] Blog Page | Página de blog\n- [ ] Geo Location | Geolocalização\n- [ ] Check Store on Map | Verificar loja no mapa\n- [ ] Pick up Products in Nearby Store | Levantar produto na loja próxima\n- [ ] Store Cart Items in Database | Armazenar os itens do carrinho no banco\n- [ ] Store Favorites in Database | Armazenar os itens dos favoritos no banco\n- [ ] Stripe Integration | Integração com Stripe\n\n---\n\n## Email Configuration | Configuração de Email\n\n### Configuração com Mailtrap | Configuration with Mailtrap\n\nAinda estou mexendo na parte do google auth, mais podes com mailtrap\n\n```\nSMTP_HOST=\"sandbox.smtp.mailtrap.io\"\nSMTP_PORT=2525\nSMTP_USER=\"\"\nSMTP_PASS=\"\"\nSMTP_SECURE=false\nSMTP_FROM=\"\"\nSMTP_TO=\"\"\nSMTP_SUBJECT=\"\"\n```\n\n## Running locally | Execução local\n\u003c!-- \n1. Clona o repositorio: `git clone https://github.com/reinaldo-vombo/ecommerce-app.git`\n2. Instale as dependencias: `npm install`\n3. Adicione as variaveis de ambiente `crie um ficheiro .env na raiz do projecto`\n4. Preencha o banco com as tabelas `npx prisma db push`\n5. Preencha as tabelas com os dados padrão `npx prisma db seed`\n6. Start the development server: `npm run dev` --\u003e\n\n## Contributing\n\nIf you'd like to contribute to this project, please follow the guidelines in [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freinaldo-vombo%2Fecommer-shop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freinaldo-vombo%2Fecommer-shop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freinaldo-vombo%2Fecommer-shop/lists"}