{"id":15706968,"url":"https://github.com/btc415/ecom_mern","last_synced_at":"2025-04-20T14:30:53.998Z","repository":{"id":202749121,"uuid":"708057837","full_name":"BTC415/Ecom_MERN","owner":"BTC415","description":null,"archived":false,"fork":false,"pushed_at":"2024-02-01T09:58:06.000Z","size":3343,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-02T12:52:15.786Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/BTC415.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}},"created_at":"2023-10-21T11:54:18.000Z","updated_at":"2024-09-02T14:38:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"6d718646-6968-4361-b457-68b20c7937c3","html_url":"https://github.com/BTC415/Ecom_MERN","commit_stats":null,"previous_names":["topcoder415/ecom_mern","dodger213/ecom_mern","btc415/ecom_mern"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BTC415%2FEcom_MERN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BTC415%2FEcom_MERN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BTC415%2FEcom_MERN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BTC415%2FEcom_MERN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BTC415","download_url":"https://codeload.github.com/BTC415/Ecom_MERN/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223829243,"owners_count":17210000,"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-10-03T20:31:51.878Z","updated_at":"2024-11-09T13:04:13.022Z","avatar_url":"https://github.com/BTC415.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fast Marketplace: eCommerce Platform Project\n\nFast Marketplace is a case study of a eCommerce platform implemented using Next.js, TypeScript, Tailwind CSS, Redux, NextAuth, Cloud Firestore Database, Webhooks, and Stripe Payments Checkout.\n\nIncludes eCommerce features like Shopping Cart, Checkout Payment, and Customer Order History.\n\n![smartmockups_laiiihlb](https://user-images.githubusercontent.com/42308135/201991734-fa2bc896-d49d-4276-8221-a80fd112e4df.jpg)\n\n\n## Tech Stack\n\n- Next.js\n- React.js\n- TypeScript\n- Redux\n- Tailwind CSS\n- NextAuth\n- Stripe Checkout\n- Webhooks\n- Firebase\n\n## Features\n\n- Responsive UI with Tailwind CSS.\n- Shopping Cart\n- Payment Checkout flow with Stripe\n- Customer Order History\n- State Management with Redux.\n- Data fetching and caching techniques using SSR (Server Side Rendering) with Next.js.\n- User Authentication with NextAuth.\n- Robust code using TypeScript.\n\n## Screen Captures\n\u003cimg src=\"https://user-images.githubusercontent.com/42308135/201999021-956dac52-2e90-44c5-9ad2-6d3ba47e8237.gif\" width=\"750\" /\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/42308135/202000898-b3213473-7d99-4a76-a834-69f359b944eb.gif\" width=\"750\" /\u003e\n\n## Screenshots\n\n\u003cimg src=\"https://user-images.githubusercontent.com/42308135/201992650-10ea69fb-b242-4f0a-8bb6-5c5077d905d8.png\" width=\"750\" /\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/42308135/201992966-143562bb-19f9-4278-916a-6d951288fe15.png\" width=\"600\" /\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/42308135/201993041-667db403-9234-4aa1-8316-ff9f1448ca2b.png\" width=\"600\" /\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/42308135/201993326-aaf43d57-791d-4c8b-8c2d-5265939657e3.png\" width=\"600\" /\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/42308135/201993396-2c608f87-e407-4dd9-888c-c8bb37574f5a.png\" width=\"600\" /\u003e\n\n\n## Installation\n\nFirst, clone the project and open it with Visual Studio Code:\n\n```bash\ngit clone https://github.com/BTC415/Ecom_MERN.git\n\ncd Ecom_MERN\n\ncode .\n```\n\nThen, create a .env.local file in the root of the project and configure the following environment variables:\n\n```\n# Authentication\n# Need to add Authorized redirect URIs to Google Cloud\n# http://localhost:3000/api/auth/callback/google\n# https://your.deployment.url.com/api/auth/callback/google\nGOOGLE_ID=\nGOOGLE_SECRET=\nNEXTAUTH_URL=http://localhost:3000\n\n# Firebase\nFIREBASE_API_KEY=\nFIREBASE_AUTH_DOMAIN=\nFIREBASE_PROJECT_ID=\nFIREBASE_STORAGE_BUCKET=\nFIREBASE_MESSAGING_SENDER_ID=\nFIREBASE_APP_ID=\n\n# Firebase Admin SDK\nFIREBASE_ADMIN_PROJECT_ID=\nFIREBASE_ADMIN_PRIVATE_KEY=\nFIREBASE_ADMIN_CLIENT_EMAIL=\n\n# Stripe Payments\n# More info: https://stripe.com/docs/payments/accept-a-payment\nSTRIPE_PUBLIC_KEY=\nSTRIPE_SECRET_KEY=\n\n# Stripe Terminal/CLI\nSTRIPE_SIGNING_SECRET=\n\nHOST=http://localhost:3000\n```\n\nTo send Stripe events to a local webhook install Stripe CLI, login into your Stripe account, and use the --forward-to flag pointing to the webhook endpoint, and create a trigger for successful customer payments :\n\n```bash\nbrew install stripe/stripe-cli/stripe\n\nstripe login\n\nstripe listen --forward-to localhost:3000/api/webhook\n\nstripe trigger checkout.session.completed\n```\n\nFinally, install all the Fast Marketplace dependencies and run the application:\n\n```bash\nyarn\n\nyarn dev\n```\n\nNow the application is running on http://localhost:3000 🚀\n\n## How to test Stripe Checkout\n\nThe current Stripe Checkout implementation simulates payments in test mode. \n\n⛔️ Please, do not use real card details. Use the following test card details:\n\n* Use a card number, such as 4242 4242 4242 4242. Enter the card number in the Dashboard or in any payment form.\n* Use a valid future date, such as 12/34.\n* Use any three-digit CVC (four digits for American Express cards).\n* Use any value you like for other form fields.\n\n![Testing form with test card number 4242 4242 4242 4242](https://b.stripecdn.com/docs-statics-srv/assets/test-card.c3f9b3d1a3e8caca3c9f4c9c481fd49c.jpg)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbtc415%2Fecom_mern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbtc415%2Fecom_mern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbtc415%2Fecom_mern/lists"}