[HELP] subdominios
Galera estou criando uma aplicação web mesmo, porem quero fazer ela para outras empresas/pessoas possa acessar atraves de um subdominio (ex: meunome.site.com.br). Seria pelo subdominio mesmo?
Tenho algumas duvidas em relação a isso pois:
1 - com esse subdominio criado e tiver algums dados que outros usuarios vao mandar como vou saber que e para aquela pessoa/empresa, serque e atraves do subdomino mesmo? ou tem que vincular algo como a id do banco e tal?
2 - existe alguma forma melhor de trabalhar com esses subdominio? ou todos eles vou ter que vincular na plataforma onde meu site esta hospedado?
Vou começar te mandando um link para entender o que é multitenancy (tem outras respostas minhas e de outras pessos lá sobre o assunto). É disso que parece que quer saber.
As estratégias de como fazer varia muito, mas ou você usa essa técnica ou faz tudo separado, cada um tem vantagens e desvantagens.
Se optar por um banco de dados único para todos os possíveis clientes então precisa de alguma informação que diferencia os dados, não tem como fugir disto.
E claro, a maneira de modelar o banco de dados vai variar de acordo com a necessidade específica, e cada jeito também tem vantagens e desvantagens. Você pode ter o subdomínio como parte da chave (para ficar eficiente) ou ter um id
que remete ao subdomínio, o que fica mais normalizado, mas nem sempre é a melhor solução.
A questão é só pegar de qual domínio está vindo, uma informação sempre disponível, e varia de a forma de pegar de acordo com a tecnologia que está usando, mas toda requisição tem isso (a não ser que use HTTP 1.0, que praticamente não existe mais, até 1.1 já tem essa informação) e fazer a requisição ao banco considerando isso como parte da seleção de dados que está querendo.
Na verdade, porque não aceitar que o cliente use domínio próprio dele? O que você quer fazer pode não ser o que o cliente quer. E dá na mesma para você desenvolver de um jeito ou de outro.
Não que mude muita coisa, mas tem que estar sob seu domínio ou ele pode usar algo dele para interagir com sua plataforma? Tudo isso são detalhes a se pensar.
Em primeiro lugar precisa formular o problema muito bem, para depois buscar a solução ideal. Sem muita clareza de onde quer chegar é complicado achar uma solução. Não sabemos exatamente oque você precisa, só temos uma ideia superficial.
Para escolher o que é melhor tem que estudar profundamente vários aspectos da computação, porque não sai música com 3 notas, menos ainda com uma só. Ou tem que usar o método científico de testes e fazer todas as formas possíveis e ver qual fica melhor. Ou contratar quem tem experiência com isso.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).
Sobre a parte do banco, veja esses vídeos, grandes empresas grandes mesmo. Ifood por exemplo. Falam como fazem seus esquemas > https://www.youtube.com/@pgconfbrasil8077/videos
Deve te ajudar! Quando ao subdominio, é simples criar um ou dezenas. Nginx como servidor ou proxy resolve isso fácilmente!
A questão é, como será a aplicação. Como será orquestrado!
Pense num sistema de usuários por exemplo. JWT pra saber quem é a pessoa Da pra saber de qual empresa é!
Dentro do painel de administração só orquestrar Os logins com as empresas com JWT ou sessões!
Abraços