mercredi 30 décembre 2020

Architecture planning for a large scale REST API with front-end and database design

I've recently put together a domain & website monitoring tool, the product monitors website uptime, checks domain expiry and SSL expiry, the plan is to add features over time.

Project introduction

Right now, the project is split into a Laravel API, and a Nuxt JS front-end, completely decoupled, and interfacing with the Laravel API.

There's an account creation page on the front-end, and upon sign up, they're added to the users table, they can log in and manage their domains and monitors, a very typical flow of any web application.

Advice on scaling this...

At some point, I'd like to build some kind of management area to the front-end, and have it hosted on some kind of subdomain of my website...

But here's the the dilema...

  • Do I build the management feature as part of the same front-end project, keeping the front-end packaged up, because it would need to interface with the API and I just add some kind of "role" column to my database, and I can manually make myself an admin and then manually make other accounts admins, in which case an admin when they log in would see the management area?
  • Or, do I build out an entirely separate front-end project, without all the "website stuff" like landing pages and content pages.

Furthermore, is it okay to have one database with many tables for this? My users table right now is simply all of my customers, would it be okay to have admins and other management accounts listed in this table too?

Aucun commentaire:

Enregistrer un commentaire