jordiee
AppDoctor: proactive support (SaaS in development made with Elixir)
https://medium.com/appdoctor/what-is-appdoctor-5cceaedf7a05
AppDoctor backend is built completely in elixir using all sorts of otp goodness.
Examples are authentication is using replicated ets tables, AppDoctor tests run in DynamicSupervisor genservers isolated from each other. We are really excited to be done(until changes are needed) with the backend and continue work on the front end for our 2019 launch. We will be moving users into closed beta shortly and I would love feedback from my favorite internet forum. Any questions on the elixir backend feel free to ask away!
Trending in Discussions
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
New
@chrismccord : I just saw the Extract AGENTS.md from Phoenix.new into phx.new generator commit to the phoenix project.
My initial shotgu...
New
I was working on an Ecto migration and I needed a timestamp. So, for the nth time, I looked up the different data types for timestamps, a...
New
Just a general thread to post chat/news/info relating to AI/ML stuff that may be relevant for Nx now or in the future. Got anything to sh...
New
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog
It says that Fly is going all-in on sprites, which is a worry ...
New
Other Trending Topics
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
@hugobarauna and I (Alex Koutmos) have been hard at work on writing a book on Nerves that takes you from simply blinking LEDs to building...
New
We want to introduce a new native datatype to Erlang: native records. Although replacing all tuple records with native records is not our...
New
Chat & Discussions>Discussions
Latest on Elixir Forum
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #elixirconf-us
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #hex
- #performance










First 10 of 20 Posts
jordiee
Oh also feel free to email beta@appdoctor.io for when we let the next round of users into closed beta!
AstonJ
Nice one Jordan
I know it’s not live yet but I went to appdoctor.io and it says
Request does not contain account subdomain..might be worth putting a holding page up for nosey parkers like myself?jordiee
You are probably correct. I will throw up something that redirects to the closed beta register page this weekend! But your more then welcome to poke at the api a bit
If you had an account you would be able to do something like
google-com-ACCOUNTID.appdoctor.io and it would proxy requests to google.com
jordiee
We are excited to start our closed beta!
Below are 10 beta codes people can use to check it out / give us feedback.
xqbkTkFW
5kv7ZAzF
6ubnpUNX
KX2ActlP
W6r7aOz8
VSsRAGEb
K4PI5q35
yOiTKvmH
2xdsdpkb
LLubEu85
https://app.appdoctor.io/register
Why are we doing a closed beta during development:
medium.com/appdoctor/closed-beta-af448039c3b7
Our public issue tracker:
https://github.com/AppDoctorIo/appdoctor-issue-tracker
Additional helpful information:
medium.com/appdoctor/appdoctor-search-e12a37a91523
medium.com/appdoctor/appdoctor-assertions-87d64d8874f9
If you come across any issues or have any feedback please post to the github issue tracker or email us at support@appdoctor.io
If you know anyone interested in the the perks that come with giving us feedback during our closed beta period please have them email beta@appdoctor.io
We will continue to update the codes after they have been used.
jordiee
Post on what we are working towards with AppDoctor Tests:
https://medium.com/appdoctor/appdoctor-tests-f9325cb4e9e6
jordiee
Tests suites run inside dynamically supervised genservers. That way we can have long running tests that share state in between steps!
jordiee
AppDoctor StatusPages are now in closed beta. You can use any of the codes above to try it out(would love the feedback).
If you have a project or application that you need a live automated StatusPage give it a try.
(along with all the other things it does)
Take a look at our example status page that we use to check our own applications health!
https://status.appdoctor.io
Materialized views + ecto raw queries make for a very speedy experience even for the complex aggregations required for an AppDoctor Status Page.
Edit:
I also entered in a local startup competition and would really appreciate a vote!
https://5x5night.com/ideas/detail/appdoctor
jordiee
Updated beta codes left!
xqbkTkFW
VSsRAGEb
K4PI5q35
yOiTKvmH
2xdsdpkb
LLubEu85
And of course to keep this elixir related here is a picture of a standard users supervisor tree in appdoctor.
under each user account:
Account GenServer: Used to collection some statistical information/ route request data to to the correct dynamic GenServer. This also handles starting bin servers under the bin supervisor.
Bin supervisor: This starts and stops GenServers for any request data and tracks statistical data like % of failed requests to an endpoint over X period of time. After not receiving any new messages after X time it stops itself.
Bin cleanup GenServer: handles rolling deletes based on account level. So for example free tier will allow 5000 requests per bin. It tracks this count internally and then runs the sql to delete when needed.
Rules GenServer: this GenServer gets passed requests and analyzes them against any rules stored it its state. It handles sending emails and updating the database when a rule is hit.
test GenServer: this is the place that contains all the tests state for a users. So that when a test is ran it does not need to hit the db. It also handles internal intervals of running tests using send_after.
test execution supervisor: when a test is running it can be long running so each test for an account is started in its own GenServer and handles each step of the test by sending messages to itself.
Last is a task supervisor that is used to start any async tasks and not have them crash the process they were started in.
AppDoctor uses a unique way of working distributed that has been working quite well so far and GenServers fail over across servers. I welcome any questions on the complications I went through setting this up and some of the awesome benefits gained through it as well!
jordiee
Super excited to finally have the landing page up at:
https://appdoctor.io
Hopefully it explains everything better then I have previously. I will have some feature blog posts about the rules engine appdoctor uses because ast parsing made everything so much easier to handle!
jordiee
We officially launched today!
https://appdoctor.io
I am super grateful for all the help I got both here and on the elixir slack group!
An honest look at launching a bootstrap startup