✨ Die Open-Source Meme-Plattform vom ICT-Campus der Post.
DANAMEME wurde damals erstellt, weil wir im Campus, IT & Campus-Memes irgendwo posten und teilen wollten. Deshalb habe ich, Levyn, mich drangesetzt und die erste Version von DANAMEME erstellt. Jetzt sind wir bereits bei der aktuellen und zweiten Version von DANAMEME für die zukünftigen Jahrgänge.
Frontend:
Backend & Datenbank:
Anderes:
- Azure (Speicher)
- Imgix (CDN)
- Terraform (IaC)
- MongoDB Compass (MongoDB GUI)
- Mailgun (E-Mail Anbieter)
- Infomaniak (Domain)
- Vercel (Hosting)
- MongoDB Atlas (MongoDB Cloud Datenbank)
Wenn du denkst du hast ein Fehler gefunden oder du möchtest irgendetwas optimieren, dann folge diesem Guide für das aufsetzten von DANAMEME lokal.
Installiere Node:
https://nodejs.org/en/download/package-manager
Installiere Git:
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
Installiere Terraform:
https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli
Installiere die Azure-Befehlszeilenschnittstelle:
https://learn.microsoft.com/de-de/cli/azure/install-azure-cli
Installliere die MongoDB Community Edition:
https://www.mongodb.com/docs/manual/installation/
Installiere MongoDB Compass (optional):
https://www.mongodb.com/try/download/compass
Klone das Git Repository:
git clone https://github.com/ly-schneider/danameme
Gehe in den Ordner:
cd danameme
Installiere die Module:
npm install
Logge dich in Azure ein:
az login
Bewege dich in den Terraform Ordner und initialisiere Terraform:
cd terraform && terraform init
Plane Terraform (optional):
terraform plan
Führe Terraform aus:
terraform apply
Nach dem Aufsetzten von den/dem Storage Account(s) rufe den/eine der Connection String(s) ab.
terraform output storage_account_{prod|dev}_primary_connection_string
Erstelle eine .env.local
Datei im Hauptverzeichnis
MONGODB_URI
: Eine URI für die Datenbank Verbindung. Nutze dazu:mongodb://localhost:27017/danameme
JWT_SECRET
: Ein frei wählbarer Schlüssel für die Ver- und Entschlüsslung des JWT TokensNEXT_PUBLIC_API_URL
: Eine URL für die Backend Verbindung. Nutze dazu:http://localhost:3000/api
AZURE_CONNECTION_STRING
: Der ausgewählte Connection String von Terraform. Im Format:DefaultEndpointsProtocol=https;AccountName={accountName};AccountKey={accountKey};EndpointSuffix=core.windows.net
IMAGE_URL
: Eine URL für das speichern des Bildpfads in der Datenbank. Wenn du kein CDN verwendest (z.B. Imgix) dann nutze dazu:{storageAccountName}.blob.core.windows.net
(kein https o.Ä)MAILGUN_API_KEY
&MAILGUN_DOMAIN
(optional): Wenn du Lust auf einen E-Mail Anbieter hast, kannst du Mailgun verwenden und diese Werte ausfüllen.
Verifiziere das MongoDB als Service im Hintergrund läuft. Dies sollte eigentlich nach der Installation von MongoDB Community Edition bereits der Fall sein.
Starte MongoDB Compass. Sobald du zum "New Connection" Bildschirm kommst füge die URI: mongodb://localhost:27017/danameme
ein und verbinde dich.
Um richtig loszulegen starte jetzt noch die Next Entwicklungsumgebung mit npm run dev
im Hauptverzeichnis.