Asking Store is an open-source ecommerce web project built by AsKing07 with Next.js on both client and server, MongoDB as the database, and Stripe and KKiapay as payment providers in test mode.
What is Asking Store?
Asking Store is an open-source ecommerce storefront that runs on Next.js and MongoDB, integrating Stripe and KKiapay for payments in test mode. The project produces a fully working storefront: it lists all products, shows latest items, organizes products into categories, manages a cart, collects comments on product pages, and sends a confirmation email when an order is paid. It is released under the MIT license and can be deployed to Vercel following Next.js deployment docs.
Key Features
- All Products Page — Renders the full catalog with a search function that filters products in real time.
- Latest Products — A homepage section pulls the newest products from the MongoDB collection.
- Product Categories — Products are grouped into categories for browsing from the main navigation.
- Cart Management — Add, update, and remove items with quantities and totals recalculated at checkout.
- Product Comments — Each single product page includes a comment area for customer feedback.
- Favorites List — Users can save products to a favorites list and view it later.
- Stripe and KKiapay Payments — Checkout accepts card payments via Stripe and mobile-money payments via KKiapay, both in test mode.
- Order Confirmation Emails — Nodemailer sends an email once an order is paid, authenticated with a Google App Password.
The front end is styled with styled-components, and the project packages include Axios, lodash, mongoose, micro, react-modal, react-phone-number-input, react-spinners, stripe, and KKiapay-react. Pages included are the all-products page, single product pages with comments, cart, favorites, and a contact page with a form. Environment variables required are MONGODB_URI, STRIPE_SK, NEXT_PUBLIC_PUBLIC_URL, KKPAY_PK, GOOGLE_FRONT_ID, GOOGLE_FRONT_SECRET, and GOOGLE_APP_PASSWORD.
Who is it for?
- Developers — A ready-made Next.js ecommerce starter with payment integration already wired, ideal for learning or customizing a store.
- Small business owners — Can set the environment variables, add products via MongoDB, and publish a store with cart, favorites, and email notifications.
- Students — A practical example of Next.js API routes, MongoDB queries, and third-party payment SDKs working together.
What can you do with Asking Store?
- Test a full purchase flow — Run the dev server, add products to the cart, and check out with Stripe test mode to simulate a paid order.
- Accept mobile money and cards — Use KKiapay for mobile-money payments and Stripe for card payments in the same checkout.
- Customize the storefront — Change styles by editing styled-components, and extend API routes under
pages/apifor custom backend logic.
How does Asking Store work?
Clone the repository, copy the environment variables into a .env file, and run npm run dev. The app starts at http://localhost:3000, with pages/api mapped to /api/* endpoints. Products are read from and written to MongoDB via Mongoose, and payment confirmation triggers an order email through Nodemailer.
FAQ
Is Asking Store free?
Yes, the project is open source under the MIT license, so it is free to use, modify, and distribute.
What payments does Asking Store support?
Stripe handles card payments and KKiapay handles mobile-money payments, both configured in test mode. Either method can be selected during checkout, and no real charges occur until live keys are used.
What environment variables are required?
The README lists MONGODB_URI, STRIPE_SK, NEXT_PUBLIC_PUBLIC_URL, KKPAY_PK, GOOGLE_FRONT_ID, GOOGLE_FRONT_SECRET, and GOOGLE_APP_PASSWORD. You must create Google Cloud credentials for login and a Google App Password for Nodemailer.
Does Asking Store have product search?
Yes, the All Products Page includes search functionality that filters the product list. The README lists search functionality among the features.








