Open-source project
Kuzma02/Electronics-eCommerce-Shop-With-Admin-Dashboard-NextJS-NodeJS avatar
Kuzma02/Electronics-eCommerce-Shop-With-Admin-Dashboard-NextJS-NodeJS

Singitronic, a Next.js electronics shop with the admin panel included

Singitronic is Next.js and Node.js full-stack e-commerce website with a free source code. Our application comes with the fully functional admin panel and it is fully open-source. Our free online store website is completely responsive and manually tested. You can use our e-commerce project as a template or boilerplate for you next project.

705 stars451 forksTypeScriptMIT

At a glance

What is it?
Electronics-eCommerce-Shop-With-Admin-Dashboard-NextJS-NodeJS is a full-stack store for electronics built with Next.js, Node.js and MySQL, with Prisma, next-auth and a working admin panel. It started as a college software engineering exam project and is positioned as a template or boilerplate, which is exactly what you should treat it as.
Who is it for?
Adopt this repository as a starting point if you need an electronics storefront with an admin panel in the Next.js and Prisma stack and you are prepared to replace the design and the data model, since it was built as a demonstration of a software engineering process rather than as a maintained commerce product. Do not adopt it if you need payment processing, tax handling, order fulfilment logic or a product catalogue you can trust without auditing it.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 83 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A college exam project that became a community template

The repository is a Next.js and Node.js full-stack e-commerce store for electronics, and the project description says so with unusual candour. It was originally created by the author and a friend as part of a college exam in software engineering, and it has since evolved into an open-source community project. The name used in the description is Singitronic.

Two things follow from that origin. The first is that the 40 pages of software engineering documentation that accompany the application are the centrepiece of the project, not an afterthought, and the README walks through those stages in order: the software engineering process, requirements analysis, system design, software implementation and testing. The main resource for that documentation is the book Razvoj aplikativnog softvera by Singidunum University professor Violeta Tomašević, and the README credits college lectures by Violeta Tomašević and Petar Kresoja with helping the implementation.

The second is that the positioning is a template. The description explicitly invites you to use the e-commerce project as a template or boilerplate for your next project, and lists several sibling repositories by the same author, covering a car parts company website, a luxury cosmetics shop, a premium admin dashboard and a fashion store in React. If you are evaluating this, you are evaluating a starting point, and the interesting question is how much of the application you have to write yourself.

A cascade model project with a Plaky board and 350 manual test cases

The process section is unusual enough to be worth reading on its own, because it tells you how the codebase was produced. The authors chose the cascade model, also called the waterfall model, considering its simplicity, easy project monitoring and easy application of the model. The README is candid that this is probably the oldest published model, first published in 1970, and that each stage is passed only after the completion of the previous one.

Milestones were defined for every stage, and project management ran through Plaky, a free application for collaboration and one-click export of project reports. Requirements were captured as a software requirements specification covering functional and non-functional requirements, then modelled with a use case diagram that defines the main success scenarios and alternative scenarios for admins and users, and then turned into a system design covering architecture, components, data structures and database structures.

The testing stage was manual and documented in detail. The README states the entire testing process was done manually, and the test script has over 350 manually tested examples, each recorded with a test ID, input data, instruction, expected result, actual result, additional comment, component, method and testing technique. The practical implication for you: there is no automated test suite to lean on, but there is a written specification of expected behaviour that is unusually thorough for a template.

Prisma, next-auth and MySQL behind the Next.js app router

The repository layout shows a conventional Next.js application with the app router. At the top level there is an app/ directory alongside components/, helpers/, hooks/, lib/, types/, utils/, a public/ directory for static assets, and a server/ directory for server-side code. Middleware sits in middleware.ts, and configuration is in next.config.mjs, tailwind.config.ts, postcss.config.js, tsconfig.json and typings.d.ts.

The data layer is Prisma against MySQL, and there is a prisma/ directory in the tree. The package.json scripts make the workflow explicit: both dev and build run prisma generate before the Next.js command, and there are separate db:generate, db:push and db:studio scripts, where db:studio opens Prisma Studio for inspecting the database.

Authentication is next-auth, and the dependency list also carries bcryptjs for password hashing, zod for validation, express-rate-limit for rate limiting and dompurify for sanitising HTML. Styling is Tailwind CSS with daisyui and flowbite-react, plus Headless UI and react-icons, and client state is handled with zustand while react-apexcharts and react-slick with slick-carousel cover charts and carousels. That dependency set is a reasonable starting point for a store, and it also tells you where you will have to add the things a real shop needs and this one does not have, most obviously payments.

The scripts you run first, and the database they need

There is no written installation section, so the package.json scripts are the practical entry point. The relevant ones are:

json
  "scripts": {
    "start": "next start",
    "lint": "next lint",
    "db:generate": "prisma generate",
    "db:push": "prisma db push",
    "db:studio": "prisma studio"
  },

The dev and build scripts are the two that also regenerate the Prisma client before running Next, since a schema change without prisma generate leaves the client out of date. In practice that means a MySQL connection string has to exist in the environment before db:push will do anything, and the schema in the prisma/ directory has to be pushed to that database first.

Two lock files are present, bun.lock and package-lock.json, so the project has been used with both package managers and you should pick one and stay with it rather than mixing them. The repository is private at the package level, with version 0.1.0, which is normal for an application rather than a published library. The typescript version is 5.9.2 and the devDependency on @types/node is 24.3.3, which is a signal that the project expects a current Node and TypeScript toolchain.

CSV bulk upload gets more documentation than the storefront

One area of the repository stands out for the volume of documentation it has generated. At the root there are five separate files about product import and deletion: BULK-UPLOAD-EXPLANATION.md, BULK-UPLOAD-GUIDE.md, BULK-UPLOAD-QUICK-REFERENCE.md, DELETE-BULK-UPLOAD-GUIDE.md and TROUBLESHOOTING-DELETE-BATCH.md. There is also a test-bulk-upload.html page and four CSV files, one of which is a blank template, one a ready-made template and two populated examples.

That is a lot of attention on one administrative workflow, and it hints at where the hard part of running a catalogue actually is. Getting fifty products into a store by hand is tedious; getting them in via CSV and then deleting a bad batch without leaving orphaned rows is the part that needs instructions. The presence of a dedicated troubleshooting file for batch deletion suggests the failure modes were real rather than hypothetical.

For an adopter, this is the most immediately useful part of the repository. Importing a real product catalogue is the first thing you will do, and here you have templates, a guide, a quick reference and an example file rather than a blank page.

What this template does not give you

Reading the dependency list and the documentation index, the gaps are clear. There is no payment gateway client, no tax calculation, no shipping or fulfilment logic, and no order workflow beyond what the admin panel displays. For a template aimed at electronics retail, that is a substantial amount of commerce logic still to be written, and it is the part that decides whether the store can take money.

There is also no automated test suite, only manual test scripts, so a change to the admin panel or the upload path has no safety net other than the written expectations. And the manual nature of the original work means the tests reflect what two students verified in 2023 era circumstances, not what a current browser, Node release and MySQL version will do.

The licensing is MIT, which is the easiest part of the evaluation. The project is free to use as a base for commercial work, and the repository has no GitHub releases, so there is no published version to pin. The last push to the main branch was on 2026-08-01, and given that the project began as coursework, treat the activity level as that of a community template rather than a product with a release train.

Editorial conclusion

Adopt this repository as a starting point if you need an electronics storefront with an admin panel in the Next.js and Prisma stack and you are prepared to replace the design and the data model, since it was built as a demonstration of a software engineering process rather than as a maintained commerce product. Do not adopt it if you need payment processing, tax handling, order fulfilment logic or a product catalogue you can trust without auditing it. Verify first that the npm scripts run against a MySQL instance configured for Prisma, that the login flow in next-auth and the bcryptjs password handling meet your own security expectations, and that the CSV bulk upload path, which is documented separately in several markdown files, behaves the way you need before you import a real catalogue.

Frequently asked questions

What stack is the Singitronic e-commerce template built on?

It uses Next.js, Node.js and MySQL, with Prisma as the data layer, next-auth for authentication and Tailwind CSS with daisyui and flowbite-react for the interface. The package.json is version 0.1.0 and pins next ^15.5.3, prisma ^6.16.1 and react ^18.3.1.

How do I set up the database for this Next.js shop?

The package.json provides the database scripts: db:generate runs prisma generate, db:push pushes the schema, and db:studio opens Prisma Studio. The dev and build scripts run prisma generate before next dev and next build, so the client is regenerated on every start.

Does the repository include an admin dashboard and product import?

The description states the application comes with a fully functional admin panel, and the repository contains an admin dashboard component set. Product import is documented in several root markdown files, with bulk upload guides, a quick reference, a troubleshooting guide for batch deletion and CSV templates including blank and populated examples.

How was the testing of this e-commerce project carried out?

The README says the entire testing process was done manually and documented in detail. The test script has over 350 manually tested examples, each recorded with a test ID, input data, instruction, expected result, actual result, comment, component, method and testing technique.

What licence is this e-commerce template released under?

The package.json sets the licence field to MIT, and the repository includes a LICENSE file. The project description invites you to use it as a template or boilerplate for your own project.

Official sources

  1. Issues
  2. Kuzma02/Electronics-eCommerce-Shop-With-Admin-Dashboard-NextJS-NodeJS on GitHub
  3. License: MIT
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/kuzma02-electronics-ecommerce-shop-with-admin-dashboard-nextjs-nodejs.svg)](https://hysenlabs.com/projects/kuzma02-electronics-ecommerce-shop-with-admin-dashboard-nextjs-nodejs)

Was this useful?