{"id":30436780,"url":"https://github.com/noorjsdivs/tulos_updated","last_synced_at":"2025-08-23T02:19:27.498Z","repository":{"id":292025023,"uuid":"979568386","full_name":"noorjsdivs/tulos_updated","owner":"noorjsdivs","description":"Tulos Ecommerce website","archived":false,"fork":false,"pushed_at":"2025-05-07T18:10:00.000Z","size":6109,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-07T19:24:15.259Z","etag":null,"topics":["ecommerce-automation","ecommerce-website","fullstack-development","nextjs15"],"latest_commit_sha":null,"homepage":"https://tulos.reactbd.com/","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/noorjsdivs.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-05-07T18:05:02.000Z","updated_at":"2025-05-07T18:10:04.000Z","dependencies_parsed_at":"2025-05-07T19:24:24.966Z","dependency_job_id":"6bf0e7e3-5650-4175-9e8c-d868724604e2","html_url":"https://github.com/noorjsdivs/tulos_updated","commit_stats":null,"previous_names":["noorjsdivs/tulos_updated"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/noorjsdivs/tulos_updated","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noorjsdivs%2Ftulos_updated","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noorjsdivs%2Ftulos_updated/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noorjsdivs%2Ftulos_updated/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noorjsdivs%2Ftulos_updated/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/noorjsdivs","download_url":"https://codeload.github.com/noorjsdivs/tulos_updated/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noorjsdivs%2Ftulos_updated/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271732362,"owners_count":24811309,"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-08-23T02:00:09.327Z","response_time":69,"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":["ecommerce-automation","ecommerce-website","fullstack-development","nextjs15"],"created_at":"2025-08-23T02:19:26.931Z","updated_at":"2025-08-23T02:19:27.484Z","avatar_url":"https://github.com/noorjsdivs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tulos Ecommerce Application\n\nThis is a Next.js-based ecommerce application template integrated with Sanity for content management, Clerk for authentication, Stripe for payments, and Sendbird for chat functionality.\nFollow the steps below to set up and customize the application.\n\n## 🔗 Preview\n\n## ![Dashboard Preview](/public/preview_image.png)\n\n## Getting started\n\nTo set up the Tulos Ecommerce Application, follow these steps carefully:\n\n### 1. Install npm Dependencies\n\nFirst, install the required npm dependencies by running the following command in your terminal depend with package you are using:\n\n```bash\nnpm install\nor\nyarn install\nor\npnpm install\n```\n\nThis will download all the necessary packages listed in package.json.\n\n## 2. Create a New Sanity Project\n\nSet up a Sanity project to manage your ecommerce content (e.g., products or blog posts):\n\n```bash\nnpm create sanity@latest -- --env=.env.local --create-project \"Tulos ecommerce\" --dataset production\n```\n\nIf you don’t have a Sanity account, this command will guide you to create one.\nWhen prompted with \"Would you like to add configuration files for a Sanity project in this Next.js folder?\", select \"n\" (no), as the --env=.env.local flag handles this automatically.\nAfter running this command, a .env.local file will be created (or updated) in your project root with:\nNEXT_PUBLIC_SANITY_PROJECT_ID: A unique ID for your Sanity project, generated during this step.\nNEXT_PUBLIC_SANITY_DATASET: Set to production.\n\n- Note: You can verify your NEXT_PUBLIC_SANITY_PROJECT_ID later by logging into https://www.sanity.io/manage, selecting the \"Tulos ecommerce\" project, and checking the project details.\n\n## 3. Set Up Environment Variables\n\nThe application requires additional environment variables beyond those set in Step 2. Edit your .env file in the project root to include the following:\n\n```bash\n\nNEXT_PUBLIC_BASE_URL=http://localhost:3000\nNEXT_PUBLIC_SANITY_PROJECT_ID=\u003calready-set-by-step-2\u003e\nNEXT_PUBLIC_SANITY_DATASET=production\nNEXT_PUBLIC_SANITY_API_VERSION=2024-11-09\nSANITY_API_TOKEN=\u003cyour-sanity-api-token\u003e\nSANITY_API_READ_TOKEN=\u003cyour-sanity-api-read-token\u003e\nNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=\u003cyour-clerk-publishable-key\u003e\nCLERK_SECRET_KEY=\u003cyour-clerk-secret-key\u003e\nSTRIPE_SECRET_KEY=\u003cyour-stripe-secret-key\u003e\nSTRIPE_WEBHOOK_SECRET=\u003cyour-stripe-webhook-secret\u003e\nSENDBIRD_APP_ID=\u003cyour-sendbird-app-id\u003e\n\n```\n\n### Where to Find These Credentials\n\n#### Sanity Variables:\n\nSANITY_API_TOKEN and SANITY_API_READ_TOKEN:\nVisit https://www.sanity.io/manage.\nSelect your \"Tulos ecommerce\" project.\nGo to the \"API\" section.\nClick \"Add API token\" and create tokens with the appropriate permissions (e.g., \"Editor\" for write, \"Viewer\" for read).\nCopy the tokens into .env.local.\n\n#### Clerk Variables:\n\nNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY and CLERK_SECRET_KEY: Sign up at https://clerk.dev, create an application, and find these keys in your Clerk dashboard.\n\n#### Stripe Variables:\n\nSTRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET: Register at https://stripe.com, create an account, and retrieve these from your Stripe dashboard.\n\n#### Sendbird Variable:\n\nSENDBIRD_APP_ID: Sign up at https://sendbird.com, create an application, and copy the Application ID from your Sendbird dashboard.\n\n#### Additional Notes:\n\nNEXT_PUBLIC_BASE_URL: Set to http://localhost:3000 for local development. Update to your live domain (e.g., https://tulos.reactbd.com/) when deploying.\nDo not commit .env.local to version control, as it contains sensitive data. Next.js automatically excludes it via .gitignore.\n\n## 4. Optionally Import Demo Seed Data\n\nTo populate your Sanity project with sample data (e.g., products or blog posts), run:\n\n```bash\nnpx sanity@latest dataset import seed.tar.gz\n```\n\nThis step is optional and requires a seed.tar.gz file, which may be included with the template.\n\n## 5. Run the Development Server\n\nLaunch the Next.js development server with:\n\n```bash\nnpm run dev\nor\nyarn dev\nor\npnpm dev\n```\n\n## 6. Access the Application\n\n- Visit http://localhost:3000 in your browser to see the ecommerce website.\n- Go to http://localhost:3000/admin/studio to access the Sanity Studio and manage your content.\n\n## Customizing\n\nTo tailor the template to your needs:\n\n- Modify files in the /app and /components directories.\n- Changes will reflect instantly due to Next.js’s hot reloading feature.\n\n## License\n\nThis template is a commercial product licensed under ReactBD Technologies.\n\n# Learn More\n\nDive into the technologies used in this application:\n\n- Tailwind CSS - Utility-first CSS framework for styling [ https://tailwindcss.com/ ]\n- @clerk/nextjs - Clerk’s Next.js integration for authentication and user management [ https://clerk.com/docs ]\n- @headlessui/react - Unstyled, accessible UI components for React [ https://headlessui.com/ ]\n- @radix-ui - Accessible component from Radix UI [ https://www.radix-ui.com/ ]\n- @sanity/client - JavaScript client for interacting with Sanity APIs [ https://www.sanity.io/docs/client-libraries ]\n- @sanity/icons - Icon library for Sanity projects [ https://www.sanity.io/plugins/icons ]\n- @sanity/image-url - Utility for generating image URLs from Sanity assets [ https://www.sanity.io/docs/image-url ]\n- @sanity/preview-url-secret - Utility for secure preview URLs in Sanity [ https://www.sanity.io/docs/preview-url-secret ]\n- @sanity/vision - Debugging tool for Sanity queries [ https://www.sanity.io/plugins/vision ]\n- @types/lodash - TypeScript definitions for Lodash [ https://www.npmjs.com/package/@types/lodash ]\n- class-variance-authority - Utility for managing class variants in JavaScript/TypeScript [ https://cva.style/docs ]\n- clsx - Utility for constructing className strings conditionally [ https://github.com/lukeed/clsx ]\n- cmdk - Command menu component for React [ https://cmdk.paco.me/ ]\n- date-fns - Modern JavaScript date utility library [ https://date-fns.org/docs ]\n- dayjs - Lightweight date manipulation library [ https://day.js.org/docs ]\n- embla-carousel-react - Extensible carousel library for React [ https://www.embla-carousel.com/ ]\n- framer-motion - Animation library for React [ https://www.framer.com/motion/ ]\n- install - Utility for installing npm packages [ https://www.npmjs.com/package/install ]\n- lodash - Utility library for JavaScript [ https://lodash.com/docs ]\n- lucide-react - Beautiful \u0026 consistent icons for React [ https://lucide.dev/ ]\n- motion - Alias for Framer Motion, an animation library for React [ https://www.framer.com/motion/ ]\n- next - React framework for server-rendered applications [ https://nextjs.org/docs ]\n- next-sanity - Toolkit for integrating Sanity with Next.js [ https://www.sanity.io/docs/nextjs ]\n- react - JavaScript library for building user interfaces [ https://react.dev/ ]\n- react-dom - DOM-specific methods for React [ https://react.dev/reference/react-dom ]\n- react-hot-toast - Notifications library for React [ https://react-hot-toast.com/ ]\n- react-icons - Popular icons in React [ https://react-icons.github.io/react-icons/ ]\n- sanity - Content management platform [ https://www.sanity.io/docs ]\n- stripe - Payment processing platform [ https://stripe.com/docs ]\n- styled-components - CSS-in-JS styling solution [ https://styled-components.com/docs ]\n- tailwind-merge - Utility for merging Tailwind CSS classes [ https://github.com/dcastil/tailwind-merge ]\n- tailwindcss-animate - Animation utilities for Tailwind CSS [ https://github.com/jamiebuilds/tailwindcss-animate ]\n- zustand - State management for React [ https://zustand-demo.pmnd.rs/ ]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoorjsdivs%2Ftulos_updated","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnoorjsdivs%2Ftulos_updated","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoorjsdivs%2Ftulos_updated/lists"}