5
2 Comments

I'm building SaaS and documenting the process. Day 6: created the admin board and new problems

This is the sixth episode in the reality show about the development SaaS app from scratch. The previous episodes:

Open SaaS development from scratch: why and what
Day 1: requirements and UI wireframes
Day 2: admin pages
Day 3: user pages
Day 4: database models, database update, and a couple of new wireframe pages
Day 5: started API and made changes to the database models

Yesterday I started with thinking about several problems with the database schema.

First of all, multitenancy requires more strict control and checking ownership.
Secondly, it turned out that the interface dashboard for board admin and a usual user can't be the same.

The third problem was the architecture itself. I would like to provide the future ability for board admins to add more admins to it, therefore the board-user relationship can be many-to-one anymore and should be many-to-many.

I solved this problem by adding the additional intermediate table connecting these 2 entities.

The fourth problem is board on the main domain (where board admins are) and board on subdomain are not the same - but this problem is likely the same as the first one.

I decided to postpone solving them and start from the implementing UI.
So, the board entities are key ones so I created a page and menu for board admins:

Board admin

Then I created API for creating and updating board entities as well as getting the list of boards belonging to the current user.

On the front-end I added requests for initial loading the list of boards and POST request to update/create a board.

I used Flask-Marshmallow to restrict the data user would get (the board itself has a lot of fields but here user needs only id, automatic url, and name).

Here is how it looks like:

Board admin

The design is still not perfect but I will leave it until the end.

I created a short video showing how it works now:
Video

The video quality is awful but I didn't figure out yet how it can be better.

Time spent: 3 hours 20 minutes
Total time spent so far: 10,5 hours

posted to Icon for group Product Development
Product Development
on March 11, 2020
  1. 1

    Did you really create the UI using html/javascript and linked it to backend in 3hrs? That is really quick. for that beauty.

    1. 1

      Yes, I did really create everything in html/javascript. But as I didn't start from scratch but used the boilerplate, what means all stubs for front-end and backend are ready. Adding a new API for backend is very simple. Adding a new JSX file is simple too, inside I use the normal JSX code what is a mix of HTML and JavaScript.

Trending on Indie Hackers
I'm a lawyer who launched an AI contract tool on Product Hunt today — here's what building it as a non-technical founder actually felt like User Avatar 151 comments Never hire an SEO Agency for your Saas Startup User Avatar 84 comments A simple way to keep AI automations from making bad decisions User Avatar 65 comments “This contract looked normal - but could cost millions” User Avatar 54 comments 👉 The most expensive contract mistakes don’t feel risky User Avatar 41 comments We automated our business vetting with OpenClaw User Avatar 34 comments