chore: add README.md
This commit is contained in:
parent
eb9354b46a
commit
54ff4a44f7
1 changed files with 93 additions and 2 deletions
95
README.md
95
README.md
|
|
@ -1,3 +1,94 @@
|
|||
# notshop-bundle
|
||||
# NoShop
|
||||
|
||||
Open-source sovereign commerce stack — the exact stack running Naturologie.com after exiting Shopify Plus. MIT License.
|
||||
**Open-source headless commerce for Replit.** Fork it, configure secrets, and have a production-ready store running in minutes.
|
||||
|
||||
Live demo: [naturologie.com](https://naturologie.com)
|
||||
Repo: [git.wellspr.ing/WellBuilder/notshop-bundle](https://git.wellspr.ing/WellBuilder/notshop-bundle)
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
|
||||
- **Full storefront** — product grid, product detail, cart drawer, checkout
|
||||
- **Authorize.net** — primary payment gateway via Accept.js (PCI-compliant tokenized nonces)
|
||||
- **Stripe** — optional secondary gateway (env-var toggle)
|
||||
- **Magic-link auth** — passwordless customer sign-in via Resend email
|
||||
- **Account dashboard** — order history with tracking
|
||||
- **Discount codes** — percentage or fixed, usage limits, expiry
|
||||
- **Admin panel** — orders, products, customers, discounts with full CRUD
|
||||
- **PostgreSQL + Drizzle ORM** — type-safe schema, one-command migrations
|
||||
- **React 18 + Vite** — instant HMR in dev, single bundle in production
|
||||
- **TypeScript** — end-to-end type safety
|
||||
|
||||
---
|
||||
|
||||
## Quick start on Replit
|
||||
|
||||
1. Fork this repo on [git.wellspr.ing](https://git.wellspr.ing/WellBuilder/notshop-bundle)
|
||||
2. Import the fork into Replit (Import from Git)
|
||||
3. Add [required secrets](#required-secrets) in **Replit → Secrets**
|
||||
4. Run the dev workflow — it auto-runs `npm run dev`
|
||||
5. Push your schema: `npm run db:push`
|
||||
6. Seed first admin: `npm run db:seed`
|
||||
7. Visit `/admin` and log in
|
||||
|
||||
---
|
||||
|
||||
## Required secrets
|
||||
|
||||
| Secret | Description |
|
||||
|--------|-------------|
|
||||
| `DATABASE_URL` | PostgreSQL connection string |
|
||||
| `SESSION_SECRET` | Long random string for session signing |
|
||||
| `AUTHORIZE_NET_API_LOGIN_ID` | Authorize.net API login ID |
|
||||
| `AUTHORIZE_NET_TRANSACTION_KEY` | Authorize.net transaction key |
|
||||
| `AUTHORIZE_NET_PUBLIC_CLIENT_KEY` | Authorize.net public client key (Accept.js) |
|
||||
| `AUTHORIZE_NET_SANDBOX` | `true` for sandbox, `false` for live |
|
||||
| `RESEND_API_KEY` | [Resend](https://resend.com) API key for magic-link emails |
|
||||
| `STORE_NAME` | Display name of your store |
|
||||
| `STORE_EMAIL_FROM` | From-address for transactional emails |
|
||||
|
||||
## Optional secrets (Stripe)
|
||||
|
||||
| Secret | Description |
|
||||
|--------|-------------|
|
||||
| `STRIPE_SECRET_KEY` | Stripe secret key — enables Stripe at checkout |
|
||||
| `STRIPE_PUBLISHABLE_KEY` | Stripe publishable key (exposed to frontend) |
|
||||
|
||||
> When `STRIPE_SECRET_KEY` is set, customers see a "Stripe" payment option alongside the Authorize.net card form.
|
||||
|
||||
---
|
||||
|
||||
## Project structure
|
||||
|
||||
```
|
||||
notshop-bundle/
|
||||
├── client/src/
|
||||
│ ├── pages/ # Storefront pages (shop, product, cart, checkout, account)
|
||||
│ ├── pages/admin/ # Admin panel (dashboard, orders, products, customers, discounts)
|
||||
│ ├── components/layout/ # Header, Footer, CartDrawer
|
||||
│ ├── hooks/ # use-cart, use-toast
|
||||
│ ├── lib/ # queryClient + apiRequest
|
||||
│ └── index.css # Tailwind + CSS variables (customize theme here)
|
||||
├── server/
|
||||
│ ├── routes.ts # All API endpoints
|
||||
│ ├── db.ts # Drizzle + pg pool
|
||||
│ ├── auth.ts # Magic-link auth
|
||||
│ ├── payments/
|
||||
│ │ ├── authorizenet.ts # Accept.js nonce charge, vault, refund
|
||||
│ │ └── stripe.ts # Stripe payment intent
|
||||
│ └── email.ts # Resend email helpers
|
||||
├── shared/
|
||||
│ └── schema.ts # Drizzle schema (single source of truth)
|
||||
├── scripts/
|
||||
│ └── seed-admin.ts # Create first admin user
|
||||
├── .env.example # Copy to .env and fill in values
|
||||
└── CONFIGURE.md # Customization guide
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Contributing
|
||||
|
||||
Submit PRs to [WellBuilder/notshop-bundle](https://git.wellspr.ing/WellBuilder/notshop-bundle).
|
||||
License: MIT
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue