{"id":21826359,"url":"https://github.com/interactiv4/shopify-node-app-template","last_synced_at":"2025-10-08T04:31:01.716Z","repository":{"id":219963107,"uuid":"749815585","full_name":"interactiv4/shopify-node-app-template","owner":"interactiv4","description":"Shopify Community (NodeJS) Template to Build Scalable Applications","archived":false,"fork":false,"pushed_at":"2024-02-13T08:58:24.000Z","size":414,"stargazers_count":4,"open_issues_count":3,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-12-04T18:45:41.765Z","etag":null,"topics":["nodejs","shopify","shopify-app","shopify-app-node","shopify-app-template","shopify-node-app-template","shopify-template"],"latest_commit_sha":null,"homepage":"","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/interactiv4.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":"2024-01-29T13:05:11.000Z","updated_at":"2024-06-10T20:53:19.000Z","dependencies_parsed_at":"2024-02-13T09:51:36.895Z","dependency_job_id":null,"html_url":"https://github.com/interactiv4/shopify-node-app-template","commit_stats":null,"previous_names":["interactiv4/shopify-node-app-template"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interactiv4%2Fshopify-node-app-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interactiv4%2Fshopify-node-app-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interactiv4%2Fshopify-node-app-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interactiv4%2Fshopify-node-app-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/interactiv4","download_url":"https://codeload.github.com/interactiv4/shopify-node-app-template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235679180,"owners_count":19028323,"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":["nodejs","shopify","shopify-app","shopify-app-node","shopify-app-template","shopify-node-app-template","shopify-template"],"created_at":"2024-11-27T18:03:45.988Z","updated_at":"2025-10-08T04:30:56.379Z","avatar_url":"https://github.com/interactiv4.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Shopify Community App Template (NodeJS)\n\n## 📚 Overview\n\nThis template, owned by [Interactiv4](https://github.com/Interactiv4), is a community-driven initiative aimed at creating a high-quality and fully open-source template for Shopify apps. The goal is to empower developers to contribute and enhance the overall quality of Shopify applications.\n\n## 🎯 Project Purpose\n\nThe primary purpose of this project is to provide a template that serves as a foundation for building top-notch Shopify applications. By being completely open-source, it encourages collaboration and contributions from the community, fostering a collective effort to elevate the standards of Shopify app development.\n\n## 🛠️ Technologies Used\n\n- **Frontend:**\n    - [React](https://reactjs.org/): A popular JavaScript library for building user interfaces.\n    - [TypeScript](https://www.typescriptlang.org/): A typed superset of JavaScript that adds static types.\n    - [React Router](https://reactrouter.com/): A declarative routing library for React.\n    - [React Query](https://react-query.tanstack.com/): A library for managing, caching, and updating remote and local data.\n    - [Vite](https://vitejs.dev/): A fast development server and build tool for modern web development.\n\n- **Backend:**\n    - [Node.js](https://nodejs.org/): A JavaScript runtime for server-side development.\n    - [Express](https://expressjs.com/): A minimal and flexible Node.js web application framework.\n    - [TypeScript](https://www.typescriptlang.org/): Used for adding static types to the backend code.\n    - [Prisma ORM](https://www.prisma.io/): A modern database toolkit for Node.js and TypeScript.\n    - [Node Dependency Injection](https://github.com/zazoomauro/node-dependency-injection/): A library for managing dependencies in Node.js applications.\n    - [Hexagonal Architecture](https://en.wikipedia.org/wiki/Hexagonal_architecture_(software)): An architectural pattern that promotes separation of concerns.\n    - [Domain-Driven Design (DDD)](https://dddcommunity.org/): A design approach that aligns software design with the user's mental model of the problem domain.\n    - [ESLint](https://eslint.org/): A tool for identifying and fixing problems in JavaScript and TypeScript code.\n    - [Prettier](https://prettier.io/): An opinionated code formatter.\n    - [Husky](https://typicode.github.io/husky/): A tool that ensures code quality by running scripts before commits.\n\n- **Shopify Integration:**\n    - [Shopify API Library](https://shopify.dev/docs/admin-api): A library for interacting with the Shopify Admin API.\n    - [App Bridge React](https://shopify.dev/tools/app-bridge/react): A set of React components that make it easy to embed Shopify into your app.\n    - [Polaris](https://polaris.shopify.com/): Shopify's design system for building consistent and accessible user interfaces.\n    - [Webhooks](https://shopify.dev/tutorials/manage-webhooks): A mechanism for Shopify to notify external services about events in a shop.\n\n## ⭐ What Sets Our Template Apart?\n\n- **TypeScript Support:** The template is fully integrated with TypeScript for both frontend and backend, enhancing code reliability and maintainability.\n\n\n- **Database Persistence:** We have replaced the default persistence with Prisma ORM, allowing compatibility with PostgreSQL, MySQL, MongoDB, as well as services like Supabase and Planet Scale.\n\n\n- **API Routing:** API routes are now organized into separate files using a wildcard approach, promoting better project structure and maintainability.\n\n\n- **Dependency Injection:** Leveraging [Node Dependency Injection](https://github.com/zazoomauro/node-dependency-injection/) for managing dependencies, improving code organization, and facilitating testing.\n\n\n- **Architectural Enhancements:** The template adopts Hexagonal Architecture and Domain-Driven Design (DDD) principles, promoting clean and modular code.\n\n\n- **Code Quality Tools:** ESLint and Prettier are integrated to ensure consistent code style and quality, with Husky enforcing pre-commit hooks for additional reliability.\n\n## 🚀 Installation Guide\n\n1. **Install dependencies:**\n   ```bash\n   npm install\n   cd web/backend\n   npm install\n   ```\n   \n2. **Configure database:**\n\n    Create a .env file in the web/backend folder and set the database connection details.\n    ```bash\n    cd web/backend\n    npx prisma migrate dev --name init\n    ```\n   \n3. **Start the development server:** \n   ```bash\n   npm run dev\n   ```\n\n## 🤝 Feedback and Contributions\nWe welcome feedback, bug reports, and contributions. Feel free to submit an [issue](https://github.com/interactiv4/shopify-node-app-template/issues) or [create a pull request](https://github.com/interactiv4/shopify-node-app-template/pulls). Let's make this template even better together!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finteractiv4%2Fshopify-node-app-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finteractiv4%2Fshopify-node-app-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finteractiv4%2Fshopify-node-app-template/lists"}