infindi-backend's Issues
Fix Open Request Check
-
Currently, when creating a new request, we check if the device id exists for an open request
-
Should change this check for device id and bundle identifier combination so that we can have multiple apps with sessions and we can have a debug and production build with open sessions
-
If there are more than X number of open requests with the same device id and bundle identifier, don't let user create a new one
- Need to create some buffer for abandoned sessions to get picked up by the session cleanup job. This will probably start-off running about once an hour
Script to delete test accounts should reset net worth and other metrics
Reset net worth when deleting accounts
Removed X-Powered-By
Express responses return with a header "X-Powered-By": "express". We don't want people knowing what we are using in the backend, since it may give them some clues on how to exploit the system. This header should not be returned.
Create Job Pinger
-
Need a way to quickly know that job requests are being listened to by worker
-
Should be able to send a ping from the command line that gets a response from a worker if it's listening
-
Ping from command line
-
Worker detects the ping and just marks the job as complete without doing anything else
-
Detect the change in the job we sent and if it gets mark as complete, then we are golden!!
Handle non-responsive session
When creating a new session, we need to check for non-responsive sessions with the same device id and do something about them.
Firebase Types
Does flow-typed have firebase types?
If not, should create some automatic way of referencing firebase types for project
Script to report new download requests
After deploying our services, we need a way to make sure that download requests are being worked on.
One solution is to write a quick script that detects changes to download requests and reports status updates:
(<id 1>): (null) -> NOT_INITIALIZED
(<id 2>): (null) -> NOT_INITIALIZED
(<id 1>): NOT_INITIALIZED -> IN_PROGRESS
...
Move common module into its own repo
We are currently copying that repo between mobile and backend. Should make it its own repo and import it via package manager
Initialization of service should use proper logging
Adding logging module for web and worker services, should use this during initialization
Handle canceling download requests
Download requests should be cancel-able
Update metrics when accounts are added
-
Should send the job to update the metrics when accounts are added via plaid.
-
Should have some load indicator to show that metrics are in the middle of an update. In the data model, should just have a flag to indicate if a job is in the middle of updating the metrics.
Fix flow errors
Detailed webhook logging
-
Need to know precise payload that is getting passed to the webhook every time
-
Need to know the IP Address it's coming from
-
Need to see the headers
Runtime errors not always handled for jobs
Some runtime errors that happen when a job is running result in a crash without getting caught and handled by the error-handling code. Need to figure out why this happens and fix it.
Cleanup call for abandoned jobs
Cleanup and handle abandoned jobs
Client for fetching / updating item id
- It's a pain in the ass to run react native when I want a new item id
- There should be a web client to quickly do this
Update-All caveats
Calling update all has a couple of caveats:
- Should NEVER be run alongside anything that is writing to user data, there can be race conditions. Need a good solution for this.
- Due to Firebase batch limit of 500 updates, this can result in an error if trying to update too much data. (Can fix this by running a set of batches instead of a single batch)
Move middleware utils over to Common-Backend
Middleware utils is being duplicated in worker and web, should migrate this to common-backend
Losing account data on failed logins
When attempting to login with a user, we replace the current yodlee provider account with the next one. The problem is that if the login is a failure, then we fail to login. I also suspect we will lose transaction data, even on a successful login, need to think through the user flow for this.
Institution name conversion needs to be fixed
replace needs regex that is globally applied
Update common
Structured and detailed logs
- Each service should have structured and detailed logs
- Logs should include severity (info, warning, error), topics, routes, etc...
Validate environment variables during startup
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.