An open API service indexing awesome lists of open source software.

https://github.com/abhirup27/shopify_app

Shopify app made using TypeScript, NestJS and some more technologies.
https://github.com/abhirup27/shopify_app

backend bullmq graphql nest nestjs nodejs redis shopify shopify-app webapp website

Last synced: 3 months ago
JSON representation

Shopify app made using TypeScript, NestJS and some more technologies.

Awesome Lists containing this project

README

          

# shopify_app





TypeScript
Nest
ExpressJS
PostgreSQL
GraphQL
GraphQL

## Description

A shopify stores management app.

## Project setup

```bash
$ npm install

# generate graphql types
$ npm run graphql:types
```

### Environment file config:

.env.development:

```
# use .env.development for development environments

PORT=3000
APP_SECRET=9d6a1925450ba0f4815bfa0860127fbe

API_VERSION=2024-07
API_SECRET=
API_KEY=

APP_URL=https://rnxxf-223-233-71-49.a.free.pinggy.link

CSRF_SECRET=v123er$%123ylongtex123t

JWT_SECRET=df411400674f6d54db83d1a050e6ae6b018d750e36a615c332e1861bb0f22e36
JWT_TOKEN_AUDIENCE=https://d1a4-223-233-67-231.ngrok-free.app
JWT_TOKEN_ISSUER=localhost:3000
JWT_ACCESS_TOKEN_TTL=3600
#Enable all logging
#LOGGING=true

# Enable file logging
LOG_TO_FILE=true

# Or enable specific log levels
LOGGING=debug,error,warn,log

DB_TYPE=postgres
DB_PORT=5432
DB_USERNAME=
DB_PASSWORD=
DB_HOST="localhost"
DB_NAME="shopify_app"
DB_SYNC="false"
DB_AUTOLOAD="true"
DB_RUN_MIGRATIONS="false"
REDIS_HOST=localhost
REDIS_PORT=6379

# Stripe related config
STRIPE_API_KEY=
STRIPE_API_SECRET=

```
edit ./src/config/configuration.ts:
```typescript
app_url: 'https://xyz.com',
app_install_URL: 'https://xyz.com/shopify/auth/redirect',
refresh_token_URL: 'https://xyz.com/shopify/auth/updateStoreToken',
```
Add these routes to your allowed redirection URLs:

\*/shopify/auth/updateStoreToken

\*/shopify/auth/redirect

## Compile and run the project

```bash
# development watch mode
$ npm run start:dev

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod
```

## View Documentation

```bash
# install compodoc
$ npm install -g @compodoc/compodoc

# build and serve documentation
npm run doc

```

go to http://127.0.0.1:3001

# Checklist and To-Do
### Done
- [x] View Products.
- [x] Sync Products.
- [x] Create Products.
- [x] View and Sync Orders.
- [x] View team store's team members.
- [x] Create new members with privileges.
- [x] Billing and consuming credits.
### To be done
- [ ] Add private stores.
- [ ] Fulfill paid orders.
### What I might do
- [ ] Add subscriptions/ stripe gateway (to charge private app usage).
- [ ] Edit customer, product, order details
## Run tests

```bash
# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov
```