{"id":25918256,"url":"https://github.com/zeeshandev15/projects-gallery-tool","last_synced_at":"2025-10-08T19:59:50.611Z","repository":{"id":259771593,"uuid":"879376586","full_name":"zeeshandev15/Projects-Gallery-Tool","owner":"zeeshandev15","description":"A full-stack Next.js application that allows users to upload and showcase their projects through posts.","archived":false,"fork":false,"pushed_at":"2025-02-07T14:12:36.000Z","size":1005,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-14T05:42:46.412Z","etag":null,"topics":["firebase","googlecloud","nextauthjs","nextjs","reacthookform","reatctjs","tailwindcss","yup-validation"],"latest_commit_sha":null,"homepage":"https://project-gallery-tool.vercel.app/","language":"JavaScript","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/zeeshandev15.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-10-27T18:33:58.000Z","updated_at":"2025-02-07T14:08:53.000Z","dependencies_parsed_at":"2024-10-27T23:53:49.048Z","dependency_job_id":"f7df1ce8-6b68-4946-9c32-a64de20442c1","html_url":"https://github.com/zeeshandev15/Projects-Gallery-Tool","commit_stats":{"total_commits":3,"total_committers":1,"mean_commits":3.0,"dds":0.0,"last_synced_commit":"3c54f4e148c9f45e02e273b8ff237952caa03e10"},"previous_names":["hi-dear-486/projects-gallery-tool","zeeshan-develop/projects-gallery-tool","zeeshandev15/projects-gallery-tool"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zeeshandev15/Projects-Gallery-Tool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeeshandev15%2FProjects-Gallery-Tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeeshandev15%2FProjects-Gallery-Tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeeshandev15%2FProjects-Gallery-Tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeeshandev15%2FProjects-Gallery-Tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeeshandev15","download_url":"https://codeload.github.com/zeeshandev15/Projects-Gallery-Tool/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeeshandev15%2FProjects-Gallery-Tool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000659,"owners_count":26082805,"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","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"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":["firebase","googlecloud","nextauthjs","nextjs","reacthookform","reatctjs","tailwindcss","yup-validation"],"created_at":"2025-03-03T14:18:21.688Z","updated_at":"2025-10-08T19:59:50.587Z","avatar_url":"https://github.com/zeeshandev15.png","language":"JavaScript","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cbr /\u003e\n    \u003ca href=\"https://youtu.be/lEflo_sc82g?feature=shared\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://firebasestorage.googleapis.com/v0/b/project-gallery-tool.appspot.com/o/gallerytool%2FUntitled%20design.png?alt=media\u0026token=ea844584-f16e-4590-b156-b5fb7ef139c7\" alt=\"Project Banner\"\u003e\n    \u003c/a\u003e\n  \u003cbr /\u003e\n\n  \u003cdiv\u003e\n   \u003cimg\n  src=\"https://img.shields.io/badge/Next.js-0070F3?style=for-the-badge\u0026logo=next.js\u0026logoColor=white\"\n  alt=\"Next.js\"\n/\u003e\n     \u003cimg\n        src=\"https://img.shields.io/badge/-NextAuth-0000FF?style=for-the-badge\u0026logoColor=white\u0026logo=next.js\"\n        alt=\"NextAuth\"\n      /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-React_Hook_Form-black?style=for-the-badge\u0026logoColor=white\u0026logo=react\u0026color=EC5990\" alt=\"reacthookform\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-Tailwind_CSS-black?style=for-the-badge\u0026logoColor=white\u0026logo=tailwindcss\u0026color=06B6D4\" alt=\"tailwindcss\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/-Firebase-orange?style=for-the-badge\u0026logo=firebase\u0026logoColor=black\u0026color=FFCA28\" alt=\"firebase\" /\u003e\n  \u003c/div\u003e\n\n  \u003ch3 align=\"center\"\u003eA HealthCare Management System\u003c/h3\u003e\n\u003c/div\u003e\n\n## 📋 \u003ca name=\"table\"\u003eTable of Contents\u003c/a\u003e\n\n1. 🤖 [Introduction](#introduction)\n2. ⚙️ [Tech Stack](#tech-stack)\n3. 🔋 [Features](#features)\n4. 🤸 [Quick Start](#quick-start)\n5. 🕸️ [Snippets (Code to Copy)](#snippets)\n6. 🔗 [Assets](#links)\n7. 🚀 [More](#more)\n\n## \u003ca name=\"introduction\"\u003e🤖 Introduction\u003c/a\u003e\n\nShowcase your projects with a full-stack app built using Next.js. This tool integrates React, Firebase, and NextAuth for seamless authentication, while Tailwind CSS offers sleek styling. Enhance form management with React Hook Form or Yup, and leverage Google Cloud for robust hosting and scalability. Perfect for developers!\n\nIf you're getting started and need assistance or face any bugs, join our active Discord community with over **34k+** members. It's a place where people help each other out.\n\n\u003ca href=\"https://discord.com/invite/n6EdbFJ\" target=\"_blank\"\u003e\u003cimg src=\"https://github.com/sujatagunale/EasyRead/assets/151519281/618f4872-1e10-42da-8213-1d69e486d02e\" /\u003e\u003c/a\u003e\n\n## \u003ca name=\"tech-stack\"\u003e⚙️ Tech Stack\u003c/a\u003e\n\n- Next.js\n- Firebase\n- NextAuth\n- TailwindCSS\n- Flowbite\n- ReactHookForm\n\n## \u003ca name=\"features\"\u003e🔋 Features\u003c/a\u003e\n\n👉 **Register as a User**: Users can sign up and create a personal projects.\n\n👉 **Add a New Project**: Allows authenticated users to upload their projects (e.g., images, videos, descriptions).\n\n👉 **Manage Projects on Admin Side**: Administrators can efficiently view and handle all created projects.\n\n👉 **Project Deleting**: Administrators have the ability to delete any project as needed.\n\n👉 **Complete Responsiveness**: The application works seamlessly on all device types and screen sizes.\n\n👉 **File Upload Using Firebase firestore**: Users can upload and store files securely within the app using firebase firestore  services.\n\nand many more, including code architecture and reusability\n\n## \u003ca name=\"quick-start\"\u003e🤸 Quick Start\u003c/a\u003e\n\nFollow these steps to set up the project locally on your machine.\n\n**Prerequisites**\n\nMake sure you have the following installed on your machine:\n\n- [Git](https://git-scm.com/)\n- [Node.js](https://nodejs.org/en)\n- [yarn](https://yarnpkg.com/) (Package Manager)\n\n**Cloning the Repository**\n\n```bash\ngit clone https://github.com/Hi-Dear-486/Projects-Gallery-Tool.git\ncd ./\n```\n\n**Installation**\n\nInstall the project dependencies using yarn:\n\n```bash\nyarn install\n```\n\n**Set Up Environment Variables**\n\nCreate a new file named `.env.local` in the root of your project and add the following content:\n\n```env\n# GoogleCloud\nGOOGLE_Client_ID=\nGOOGLE_CLIENT_SECRET=\n\n# NEXTAUTH\nNEXTAUTH_SECRET=\nNEXTAUTH_URL=\n\n#Firebase\nNEXT_PUBLIC_FIREBASE_API_KEY\nNEXT_PUBLIC_FIREBASE_AUTH_DOMAIN\nNEXT_PUBLIC_FIREBASE_PROJECT_ID\nNEXT_PUBLIC_FIREBASE_STORAGE_BUCKET\nNEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID\nNEXT_PUBLIC_FIREBASE_APP_ID\n```\n\nReplace the placeholder values with your actual Firebase credentials. You can obtain these credentials by signing up on the [Firebase website (https://firebase.google.com/).\n\n**Running the Project**\n\n```bash\nyarn  run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) in your browser to view the project.\n\n## \u003ca name=\"snippets\"\u003e🕸️ Snippets\u003c/a\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003etailwind.config.js\u003c/code\u003e\u003c/summary\u003e\n\n```javascript\n/** @type {import('tailwindcss').Config} */\nmodule.exports = {\n  content: [\n    \"./pages/**/*.{js,ts,jsx,tsx,mdx}\",\n    \"./components/**/*.{js,ts,jsx,tsx,mdx}\",\n    \"./app/**/*.{js,ts,jsx,tsx,mdx}\",\n  ],\n  theme: {\n    extend: {\n      colors: {\n        background: \"var(--background)\",\n        foreground: \"var(--foreground)\",\n      },\n      boxShadow: {\n        5: \"rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px\",\n      },\n    },\n  },\n  plugins: [],\n};\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003eapp/globals.css\u003c/code\u003e\u003c/summary\u003e\n\n```css\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\n:root {\n  --background: #ffffff;\n  --foreground: #171717;\n}\n\n@media (prefers-color-scheme: dark) {\n  :root {\n    --background: #0a0a0a;\n    --foreground: #ededed;\n  }\n}\n\nbody {\n  color: var(--foreground);\n  background: var(--background);\n  font-family: Arial, Helvetica, sans-serif;\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003eapp/(authprovider)/AuthProvider.jsx\u003c/code\u003e\u003c/summary\u003e\n\n```javascript\n\"use client\";\nimport React from \"react\";\nimport { SessionProvider } from \"next-auth/react\";\nconst Authprovider = ({ children }) =\u003e {\n  return \u003cSessionProvider\u003e{children}\u003c/SessionProvider\u003e;\n};\n\nexport default Authprovider;\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003eapp/api/auth/[...nextauth]/route.js\u003c/code\u003e\u003c/summary\u003e\n\n```javascript\nimport NextAuth from \"next-auth\";\nimport GoogleProvider from \"next-auth/providers/google\";\n\nconst handler = NextAuth({\n  providers: [\n    GoogleProvider({\n      clientId: process.env.GOOGLE_Client_ID,\n      clientSecret: process.env.GOOGLE_CLIENT_SECRET,\n    }),\n  ],\n});\n\nexport { handler as GET, handler as POST };\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003elib/firebase.js\u003c/code\u003e\u003c/summary\u003e\n\n```javscript\nimport { initializeApp } from \"firebase/app\";\n\n// Your web app's Firebase configuration\nconst firebaseConfig = {\n  apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,\n  authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,\n  projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,\n  storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,\n  messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,\n  appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,\n};\n\n// Initialize Firebase\nconst app = initializeApp(firebaseConfig);\nexport default app;\n```\n\u003c/details\u003e\n\n## \u003ca name=\"more\"\u003e🚀 More\u003c/a\u003e\n**Advance your skills with Next.js 14**\n\nEnjoyed creating this project? Dive deeper  for a richer learning adventure. They're packed with detailed explanations, cool features, and exercises to boost your skills. Give it a go!\n\n\u003ca href=\"https://github.com/Hi-Dear-486/Movie-flix-App\" target=\"_blank\"\u003e\n\u003cimg src=\"https://github.com/Hi-Dear-486/Movie-flix-App/blob/master/movie.JPG\" alt=\"Project Banner\"\u003e\n\u003c/a\u003e\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n#\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeeshandev15%2Fprojects-gallery-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeeshandev15%2Fprojects-gallery-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeeshandev15%2Fprojects-gallery-tool/lists"}