- Last modification: Abril 2022
- Start: Juny 2020
- Descripció: Full stack application emprant Javascript asíncron (Fetch) i Express.js, ,amb desplegament a Heroku i Atlas MongoDB.
Els TODO s'indiquen en el codi mitjançant etiqueta //TODO (Nota: emprar extensió TODO Tree per marcar els TODO)
Database uci_database, Collection cyclists. Allotjada a Atlas MongoDB
-
Iniciar sessió amb Gmail, Crear un cluster i usuari de base de dades - dbUser per defecte
-
Crear un conexió Des de la pantalla de CLUSTER, espitjar Connexió, tria opció 2, Connect with my Application o algo així. El token de conexió serà quelcom similar a:
mongodb+srv://<elmeusuari>:<elmeuPassword>@cluster0-tuhp5.mongodb.net/<labasededades>?retryWrites=true&w=majority
-
Cal guardar usuari i contrasenya a fitxer .env de variables d'entorn (cal incloure'l al .gitignore). Exemple de fitxer .env:
NODE_ENV=development
USER=dbUser
PASSWORD=aqui_la_meva_password
Molt important: cal assegurar que el servidor en Node.js pot accedir a Mongo Altas.
- Entrar a Atlas, a l'opció Network Access, afegir a la IP Whitelist el següent:
0.0.0.0/0
que vol dir que qualsevol hi pot accedir. Accés o una IP fixa (suposo que és més segur)
- En general, seguint les instruccions disponibles al manual de Nodejs per Heroku no hi ha problemes.
- Entrar a Heroku. Anar al desplegament que toca, clicar Settings i a sota, botó Reveal Config Vars i afegir allà:
- Usuari i la contrasenya segons noms del fitxer .env
- Afegir la variable
PORT=80
- Afegir la variable
NODE_ENV=development
Guardades en fitxer proves_api.rest
- emprant extensió REST CLIENT de vscode (Millor seria una collection a Postman, més pràctic)
-
Full Stack Vue.js, Express & MongoDB - TraversyMedia: tutorial que he seguit. He emprat Mongoose per connectar a Mongo i Atlas MongoDB (que ha absorbit mLab des de Febrer 2019.
-
CRUD Operations with Mongoose and MongoDB Atlas - Digital Ocean. Amb
Mongoose
puc fer CRUD en un back amb Express.js molt fàcilment
- Complete REST API with MongoDB Atlas cloud, Node, and Express in 10 minutes. No ho he consultat encara, però pot servir per complementar l'anterior
- Emprar variables d'entorn a Node. També he hagut de crear una variable d'entorn (anomenades Config Var) als settings de la meva app a Heroku