/shop-server

Backend server for mobile shop app, made in NestJS with Typescript.

Primary LanguageTypeScript

Backend server for Mobile shop app

url: Backend

Tech stack:

  • MySQL database
  • NestJS server framework
  • Typescript
  • Typeorm SQL ORM
  • bcrypt password hashing
  • jsonwebtoken user authentication
  • sendgrid mailing
  • stripe payments
  • graphql/apollo graphQL query
  • expo-server-sdk mobile notifications
  • class-transformer, class-validator input validation
  • nodejs

Set enviroment variables

  • STRIPE_TEST_SECRET
  • SENDGRID_KEY
  • EMAIL (for sendgrid)
  • STRIPE_WEBHOOK_KEY
  • JWTTOKEN
  • APP_PORT

Database connection env

  • CONNECTION (mysql)
  • HOST
  • NAME (user)
  • DATABASE (database name)
  • PORT
  • SYNCHRONIZE
  • PASS (user password)

Run test payments on local device

  1. Download stripe cli
  2. Run stripe cli via cmd
  3. Run command stripe login
  4. Run command stripe listen --forward-to {URL}/payments/webhook
  5. Copy webhook signing secret and set env STRIPE_WEBHOOK_KEY

Create database

CREATE DATABASE shop;

Use your IPv4 Address as backend address in src/main.ts or .env URL

ipconfig

Run

npm start

About app