jordiee

jordiee

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!

Showing Posts 1 to 10

jordiee

jordiee OP

Oh also feel free to email beta@appdoctor.io for when we let the next round of users into closed beta!

AstonJ

AstonJ

Nice one Jordan :slight_smile:

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? :lol:

jordiee

jordiee OP

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 :stuck_out_tongue:

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

jordiee OP

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

jordiee OP

Post on what we are working towards with AppDoctor Tests:

https://medium.com/appdoctor/appdoctor-tests-f9325cb4e9e6

jordiee

jordiee OP

Tests suites run inside dynamically supervised genservers. That way we can have long running tests that share state in between steps!

jordiee

jordiee OP

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

jordiee OP

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

jordiee OP

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

jordiee OP

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

Where Next? Top

Trending in Discussions Top

AstonJ
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...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
caslu
I want to open this thread for you all to discuss and help those who really like Ash but are still hesitant to use it in a real project. ...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
maennchen
:warning: Security advisory: Decimal DoS vulnerability A vulnerability has been published for decimal where very large exponents can cau...
New
marciol
It would be helpful to have a list of companies worldwide that hire engineers without prior experience in Elixir. Often, it can be quite ...
New

Other Trending Topics Top

marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Damirados
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
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews