
This project is a demo version of an e-commerce store, fully integrated with OneEntry Plaform. The primary goal of this project is to provide developers with a free, ready-to-use front-end template that demonstrates the capabilities of working with OneEntry.
Showcase OneEntry’s Capabilities: This e-commerce template gives users a clear example of how OneEntry Plaform can be used to manage content and products on an online store.
Simplify Development for Front-End Developers: This project serves as a foundation that developers can use to quickly set up an e-commerce store. They can use the code as-is or customize it, adapting the design and adding their own features, which significantly reduces development time.
Ready-to-Use Solution for Quick Start: This e-commerce template isn’t just an example—it’s a fully functional codebase that’s already integrated with OneEntry Plaform, ready to be tailored to fit specific project needs.
Full Control via Admin Panel: Every element of the store—from product cards to category pages—is customizable and manageable through an intuitive admin panel. This setup allows for quick content updates and store adjustments without needing code changes.
Flexible Content Management: All content, including product descriptions, images, pricing, and promotions, is managed entirely through the OneEntry admin panel. This makes it easy to keep the store up-to-date, working exclusively through the admin interface.
Quick Start & Easy Adaptation: Developers can hit the ground running with this ready-made template and customize it as needed to meet specific business or branding requirements.
Scalability Support: With OneEntry Plaform, this store can easily scale, handling high traffic and growing data volumes, making it suitable for both small projects and larger stores.
This project is designed for developers using OneEntry Plaform who need a quick and flexible way to launch an e-commerce store. It serves as a starting point for creating a custom online store with minimal time and effort on front-end development.
https://oneentry-nextjs-e-commerce-demo.vercel.app/
This is a Next.js project.
Ready-to-use backend and Admin panel
For detailed information about specific aspects of the project, please refer to the documentation files:
Before running the demo locally, you need to create a OneEntry account and generate your API credentials.
A detailed step-by-step setup guide is available on the template landing page:
👉 https://oneentry-free-template-e-commerce-nextjs.vercel.app/
If you don’t have an account yet, sign up here
👉 https://oneentry.cloud/
Create your workspace — this will be the backend for the demo Next.js store.
Once inside the admin panel:
To run this project, you will need to add the following environment variables to your .env file.
1. Rename .env_example to .env
2. Add the following environment variables
`NEXT_PUBLIC_PROJECT_URL: https://xxx-xxx-xxx.oneentry.cloud`
`NEXT_PUBLIC_APP_TOKEN: xxxxxGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9....`
Clone the project
git clone git@github.com:ONEENTRY-PLATFORM/nextjs-shop-demo.git
Go to the project directory
cd nextjs-shop-demo
Install dependencies
npm install
Start the dev server
next dev
Build app
next build
Open http://localhost:3000 with your browser to see the result.
Install oneentry-next-shop with npm
cd nextjs-shop-demo
npm install
next dev
````
## i18n config
Open i18n-config.ts
Set your languages codes accordingly with example
## Deployment
To deploy this project run
```bash
npm run deploy
app: Contains the main components of the application, organized by functionality (e.g., cart, favorites, orders, shop).
api: Houses API endpoints and related files, ensuring a clean separation of concerns.
store: Manages the Redux store, including hooks, providers, and reducers.
styles: Contains CSS files, organized by functionality.
types: Includes TypeScript type definitions.
components: Features reusable components like forms, icons, and layout elements.
The project uses two testing layers:
| Layer | Tool | Scope |
|---|---|---|
| Unit / Component | Jest + Testing Library | Redux slices, UI components in isolation |
| End-to-End | Playwright | Full user flows across Chromium, Firefox, WebKit, Mobile |
npm test # run once
npm run test:watch # watch mode
npm run test:coverage # with coverage report
Unit test files live next to the source in __tests__/ folders. Coverage is collected from app/ and components/.
~171 tests across 20 spec files covering: auth, cart, checkout, catalog, favorites, orders, profile, search, navigation, localization, accessibility, mobile flows, and more.
npm run test:e2e # headless (all browsers)
npm run test:e2e:ui # Playwright UI mode (recommended for development)
npm run test:e2e:headed # visible browser window
npm run test:e2e:debug # Playwright Inspector
npm run test:e2e:report # open HTML report
npm run test:e2e:chromium # Chrome only
npm run test:e2e:firefox # Firefox only
npm run test:e2e:webkit # Safari only
npm run test:e2e:install # install Playwright browsers
E2E tests require a tests/.env file with test user credentials — copy from tests/.env_example:
TEST_USER_EMAIL=your-test-user@example.com
TEST_USER_PASSWORD=YourPassword123!
BASE_URL=http://localhost:3000
For full E2E documentation, test structure, writing guidelines, and CI/CD setup see tests/README.md.
Scripts: Use npm run dev to start development, npm run build to compile the project, and npm run start to run the production build. The npm run lint script helps maintain code quality. Environment Variables: Make sure to set up your .env file with the necessary environment variables to run the project smoothly. Internationalization: The project supports multiple languages, configured in i18n-config.ts.
| File(s) / Folder(s) | Description |
|---|---|
.env |
OneEntry CMS project configuration |
i18n-config.ts |
i18n config |
@/app |
Next.js app entry points |
@/app/[lang]/layout.tsx |
Main layout |
@/app/[lang]/dictionaries.tsx |
Dictionaries for translations |
@/app/animations |
Gsap animations transition providers |
@/app/api |
API, methods and hooks definition |
@/app/store |
Redux-Toolkit management and core reducers |
@/app/store/providers |
React contexts and providers |
@/app/types |
Types for TypeScript |
@/components |
All app components |
@/components/forms |
All app forms |
@/components/icons |
Svg icons with additional props |
@/components/layout |
All app layouts |
@/components/pages |
Simple app pages |
@/components/shared |
Shared between layouts components |
/public |
Public content folder |
| ------------------------------- | ------------------------------------------ |
This is the central hub for all documentation. Below are links to specific sections.
In case of any issues or questions, you can post: GitHub discussion
$ claude mcp add nextjs-shop-demo \
-- python -m otcore.mcp_server <graph>