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.