This is a list of most of the technologies used in the app. Further down are listed some of the innovations as well as the guiding philosophy of the design.
MondoDB
- Mongo atlas hosted on GCP
Redis
- Key/value store
- Pub/Sub for communications between
Postgres
- k8 container
- Persistent storage
- Snapshots
Kubernetes
- Mix of dedicated and pre-emptible nodes
Pipeline
- Bitbucket bamboo
- Deploy, promo to production, rollback
LogDNA
- Logging of all server activity
- Logging of scheduled jobs
- Logging of user activity
- Verify monitoring container
Monitor agent
- Health checks every minute
- Hourly real user emulation to all apps and sites using puppeteer (login process)
- Site images saved to S3
|
CloudFlare
- DDOS protection
- DNS server
- Image optimization / caching
Puppeteer
- Running as Browserless container
- Used for the real user emulation monitor agent
- Used for page scraping in browser extension
Froala JS library (customized)
- Rich text editing
- Image uploading and editing
- Embed URLs from 1,500 sources using Embedly and Framely
Stripe
- Payment processing
- Credit card verification
Mailgun
- Send marketing emails, alerts, transactional emails
- Email address verification
- Monitor bounces and spam reports
Lets Encrypt
- Automatic certificates renewal
- Auto backup to Bitbucket
|
Innovations
These are some examples of portions of the app design that could be considered innovative or at least not often seen but very effective coding patterns.
Just in time VueJS component code
- Transmitted to browser via web sockets on a just in time basis only when needed
- Compatible with other frameworks (ie. jQuery Mobile, Element, etc)
Custom load balancer
- Gets pod IP addresses and CPU stats for all containers via redis every second
- Efficient balancing based on CPU load
- Blue/Green deployments
- Blue/Green direction by user or channel
- Websockets compatible
Packet traffic channels
- Browser to server
- Server to browser
- Server to server
- Routed by user / session / channel / article
Remote debugging
- DevTools connection directly to designed pods in both Dev and Prod environments
- Through firewall via source IP
|
Notification system
- Real time notification slide in overlay
- Shows all app activity user is entitled to
- Articles read
- Approval requests
- Priority regular notifications toggle
- Filter by type of notification, etc
- Expand notification card on tap
- Approve / reject articles, comments directly from notification card
Web site generation
- Drag and drop / edit page colors, combine sections, etc
- Changes saved to bitbucket connection development branch
- Promote to production button (admin)
Browser extension
- Display count of unread articles / approval requests
- Capture page and create articles
- Edit parser parameters or submit parser adjustment requests
|
Comments
0 comments
Please sign in to leave a comment.