Giter Site home page Giter Site logo

shassi-nest's Introduction

Shassi

Build Status dependencies Status devDependencies Status

Coverage Status Technical Debt Lines Of Code

Description

Shassi is a shopping assistant helping you to keep track of products you are interested in and notifying you when price or availability change.

Installation

$ npm install

Create a development.env file. You can use the development.env.sample file.

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# incremental rebuild (webpack)
$ npm run webpack
$ npm run start:hmr

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

# linkt
$ npm run lint

shassi-nest's People

Contributors

greenkeeper[bot] avatar kiwikern avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

shassi-nest's Issues

Edit product added messages on size chosen

When a product is added and the user is asked to choose a size, edit the original bot message instead of sending a new one. (Might be better to place an error in a new message instead.)

swagger param data type

The string params are transformed to other datatypes by @Pipe(), e.g. to ObjectId.
The UI then does not accept a string param, because it expects ObjectId instead of string:

image

Actions on reply to message

When replying to a bot message show some actions like /delete /history /favorite /unfavorite as buttons. When replying with a command / keyword, then immediately run action.

Integrate telegram seamless auth

?id=123456&
first_name=Afdad&
last_name=Adass&
username=username&
photo_url=https%3A%2F%2Ft.me%2Fi%2Fuserpic%2F100%2Fusername.jpg&
auth_date=1559403541&
hash=d0e...197

React on 410 Gone response

A product request to snipes fails with 410 when the product is not available anymore. This response should set isInCatalog to false.

Health Check

  • Make sure that Telegram connection is still established. Restart automatically when it's down.
  • Check for crawler connection.

Publish releasenotes via Telegram

Should be possible to increase engament by publishing fixes or newly supported stores via Telegram. Maybe sending custom messages via an additional admin module.

Create ObjectId pipe

Instead of creating ObjectIDs from url params, create a pipe for the transformation. If the given ObjectID is invalid, throw a BadRequestException.

Update to typeorm 2.1.17 breaks indices

There have been a couple of changes to mongodb indices. This update breaks the indices:

2019-05-14T23:31:39.268+0200 E INDEX [TTLMonitor] ttl indexes require the expireAfterSeconds field to be numeric but received a type of null, sk
ipping ttl job for: { v: 2, unique: true, key: { userId: 1 }, name: "IDX_ca94189f5dcaefdae0d98de623", ns: "shassi_test.telegram-user-ids", sparse:
false, background: false, expireAfterSeconds: null }

https://github.com/typeorm/typeorm/blob/master/CHANGELOG.md#0217-2019-05-01

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.