Is LiveView suitable for big dashboard with many users?


multiple LV app, about 100 users per day, sometime 1000s users but I don’t have data for these days.

2 Likes

answered first question in previous post. About API I don’t need mobile app, we could only need it for notifications, but I think we will rely on mails for now. About budget I think no, time we have 7 months from start to finish. I thought to make FrontEnd with myself but it is overhead on me because we are just 2 guys work on this big project :frowning:

Any problem you can solve by throwing more HW at it is not a big problem.

1 Like

But trying to throw hardware at every problem might become a big problem.

Ps. Glad the “bitch” of Jay-Z ain’t one.

When I’m reading this I think go with LiveView. Yes, there is possibility that you can have performance issue with 10k users but I’m pretty sure it can be fixed.If not you, community will help you, if not community, contact me and I will give you hand. I think 7 months is plenty of time with LV but not in case you will do JS Client and API. But it depends on your skills.

So for example project which I mentioned couple of time was:
Users can create account and company, company can have multiple users with multiple roles. There is administration part where can be invited multiple people. Administrators can create competitions(LV) and invite another administrators, other don’t see it. Competition has huge form with questions in multiple format(text, checkboxes, …). Competition can be arrange to companies by some specification or invitation. Users from company with specific roles can fill the form. Mostly it’s long form so multiple people can answering at same time for long time (hours, days). So we use LiveView for collaboration and autosaving. Administration dashboard has some LV too. After they submit their application form it has to be validated by another administrator so there is another set of questions in validation form. These questions are hardcoded with some point calculation etc…this part is very complicated. So there is another LiveView for human validation process. There is also another persona, superadmin which have access to everywhere(almost) to help with issues and questions. Some notifications, validations, user profiles, dashboards, etc… Not big, not small project.
Our resoureces:

  • time: 6 weeks from first commit to first registration
  • manpower:
  1. me(5y elixir, 15y web) 2w 120%, 4w 30% of fulltime
  2. senior dev(2y elixir, 5y web) 6w 100%
  3. junior dev(2 weeks elixir, 6m web) 6w 100%
    We did it pretty well. We delivered it, both developers were working on it for next 1-2 months with some small upgrades and some small fixes. How I mentioned it’s running on Heroku and we event didn’t know when they invited about 100k people to the platform for some competition.

So this example can show you how LiveView is powerful when you use Elixir, Phoenix and LiveView and you don’t have enough resources (manpower, time, hw resources)

4 Likes

So you use combination between LV and normal Phoenix to implement such dashboard? I was planning to use LV in the whole dashboard, because I think of it as a replacement for JS Frontend (ex: React) with some differences of course and when there is no escape from using JS, I use AlpineJS. You advice me to use phoenix controllers / views when I don’t need Websockets?

You mean using Phoenix LiveView with root layout. I don’t have experience with LV root layout. That can be good too.
We use this combination. But honestly if you don’t have huge state in LV it can be much better than regular app(combination). But you can start with regular phoenix and use power of generators for CRUD operations for example. Maybe LV has these generators too, not sure.

I don’t have proper answer for it. My dream is to have LiveView Root which can move data without serialization when I’m going to one LV to another. Not sure if it works with this way or not, have not had time to check it yet. If yes, you can optimize a lot of things in your app flow.

I sent you invitation for my latest repo that I used Phoenix LiveView all over the app, I will follow the same pattern with this project here. I hope I sent invitation for the right person :smiley: it is for this website www.devincave.com/admin and I mentioned username/pass in my second comment here

@alaadahmed This application is gorgeous! I love the UI.

I have never been a fan of HTML. It doesn’t seem to fit in my head. I can read it and debug it but can’t write.
It’s applications like these that enccourage me to try again. Thanks for sharing!!!

2 Likes

You have LV generators with mix phx.gen.live (I think this is the syntax as I don’t use generators much) for CRUD.

1 Like