Salta el contingut

MiniX - Creació de l'entorn

Explicació

Es vol implementar un miniX. Per a començar farem una versió molt reduïda però funcional.

  • Els usuaris s'identifiquen amb un correu electrònic i una paraula de pas. A part, també volem saber l'edat de l'usuari i el país de residència.

  • Els usuaris poden crear missatges d'una longitud màxima de 140 caràcters. Un missatge només pertany a un usuari però evidentment un usuari pot escriure molts missatges.

  • Els missatges poden estar publicats o sense publicar. Cal poder canviar l'estat de cada missatge en qualsevol moment.

  • Cada usuari ha de tenir una llista de seguits (following). Un usuari pot seguir diferents usuaris i un usuari pot ser seguit per varis usuaris. Amb això, els usuaris també han de poder saber els seus seguidors (followers).

  • Els usuaris han de poder bloquejar a altres usuaris per evitar que d'aquesta manera els puguin seguir i consultar els seus missatges. La base de dades ha de guardar per a cada usuari quins té bloquejats i també els usuaris que el bloquegen.

  • Els usuaris també han de poder valorar el diferents missatges. Per a cada missatge valorat, s'ha de poder assignar una emoticona a l'estil de :-) ;-) :-/.

Què cal fer?

  • Fes el Diagrama Entitat Relació que permeti emmagatzemar tota la informació del miniX. Mostra una imatge del diagrama.
Possible solució MER

miniX_ER.png

Creem les taules i la base de dades

Suposarem que, a la base de dades:

  • l'usuari root@localhost no té password.

  • tenim un usuari usuari@localhost amb password usuari.

Podeu adaptar els scripts segons el vostre entorn:

Descarregarem el fitxers de creació de les taules i els executarem.

Descarregarem el fitxer miniXMySQL.sql al directori on tenim el xampp, que és el directori on s'obre la shell del xampp.

Executarem les comandes

Base de dades miniX
mysql -u root -e "CREATE DATABASE `minix`;"
mysql -u root -e "GRANT ALL PRIVILEGES ON `minix`.* TO `usuari`@`localhost`;"
mysql -u usuari -pusuari minix -e "source miniXMySQL.sql"
Model Relacional

miniX_RE.png