From ac5c2bcd27e23d09f0b072984ac2901d682443c4 Mon Sep 17 00:00:00 2001 From: Axel Froborg Date: Sat, 7 Oct 2023 15:00:56 +0200 Subject: [PATCH] update readme --- README.md | 98 +++++++++++++++++++++++++++++---------------- strapi/.env.example | 7 ---- web/.env.example | 4 +- 3 files changed, 65 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index 99dc75b..763126d 100644 --- a/README.md +++ b/README.md @@ -2,58 +2,88 @@ Repo för Nollningshemsidorna [`nollning.esek.se`](https://nollning.esek.se) och [`e-nollning.nu`](https://e-nollning.nu) samt alla alias `/\d{4}/.nollning.esek.se`. +## 📚 Struktur + +Projektet bestĂ„r av tvĂ„ delar. En backend server och en frontend applikation. + +### Backend + +Backenden bestĂ„r av ett [Strapi CMS](https://strapi.io/) som hanterar allt innehĂ„ll pĂ„ sidorna. Mer information om backenden finns [hĂ€r](./strapi/README.md). + +### Frontend + +Frontenden Ă€r en [Next.js](https://nextjs.org/) applikation som hĂ€mtar data frĂ„n [backenden](#backend) och renderar sidorna serverside. Mer information om frontenden finns [hĂ€r](./web/README.md). + ## âšĄïž Quickstart För detta projektet krĂ€vs: - [Docker](https://www.docker.com/) - [NodeJS](https://nodejs.org/) -- [Yarn](https://yarnpkg.com/) (gĂ„r att installera med `npm install -g yarn`) +- [Yarn](https://yarnpkg.com/) -### Lokal dev miljö +### 🐘 Postgres -För att starta en lokal devmiljö behöver du först klona projektet. Om [Docker Desktop](https://www.docker.com/products/docker-desktop/) anvĂ€nds, starta denna applikation. Se till att det **inte** finns nĂ„gra docker images som kör pĂ„ port 5050 och 5432. Kör dĂ€refter `docker compose up` i root för att starta en `nollesite` container. +Skapa en lokal postgres instans. Det finns en docker-compose fil i root som kan anvĂ€ndas för detta: -Följande steg förklarar hur en strapi instans skapas, dĂ€r du kan redigera nollningssidor. DĂ€refter förklaras hur man skapar en lokal webapplikation för att testa nollningssidorna. +```bash +# ./ +docker compose up +``` -#### ⚙ Strapi +### ⚙ Strapi -Skapa CMS:et pĂ„ följande sĂ€tt: -1. Skapa en `.env`-fil i `strapi/` och kopiera över innehĂ„llet frĂ„n `.env.example`. Inga ytterligare Ă€ndringar behöver göras för att fĂ„ lokala strapi-instansen att fungera. I testing anvĂ€nds variablerna för följande syften: - - `DB` - vĂ€rdena för lokala postgres-instansen - - `STRAPI_HOST` och `STRAPI_PORT` - adressen som servern kör pĂ„ - - `SMTP` - för att testa skicka mejl lokalt, exempelvis för att testa funktionaliteten för att ha glömt sitt lösenord - - `WIKI` - anvĂ€nds för att kunna visa en sida frĂ„n DDGWikin i Strapi -2. `cd strapi`, `yarn install` och `yarn dev` -3. En lokal strapi instans kommer startas pĂ„ http://localhost:8000 -4. Skapa ett lokalt konto -5. Ett [nollningsĂ„r kan nu skapas](https://ddgwiki.esek.se/index.php/Nollningshemsidan)! +1. Kopiera `.env.example` till `.env` i [`/strapi`](./strapi) -#### 🚀 Web + ```bash + # ./strapi + cp .env.example .env + ``` -Skapa en lokal webapplikation för nollningssidorna pĂ„ följande sĂ€tt: -1. Skapa en `.env`-fil i `web/` - - Kopiera över innehĂ„llet frĂ„n `.env.example` - - Fyll i `.env`-filens `STRAPI_API_TOKEN`. VĂ€rdet för denna Ă€r en API Token som skapas i lokala Strapi instansen, pĂ„ http://localhost:8000/dashboard/settings/api-tokens - - LĂ€gg till `GOOGLE_API_KEY` om kalendern ska testas. Denna nyckeln finns ocksĂ„ i Bitwarden -2. `cd web`, `yarn install` och `yarn dev` -3. En lokal webapplikation kommer startas pĂ„ http://localhost:3000 + Uppdatera vĂ€rden i `.env` enligt instruktionerna i [filen](./strapi/.env.example). -#### ❓ Felsökning +2. Installera dependencies: -NĂ„gra vanliga fel som kan uppstĂ„ nĂ€r en lokal dev miljö skapas, och lösningar som har upptĂ€ckts för dessa, Ă€r följande: -- Om inte yarn-kommandon fungerar i terminalen kan [nvm](https://github.com/nvm-sh/nvm) anvĂ€ndas för att byta version av node med `node use `. Efter detta brukar yarn-kommandon fungera igen. -- Om inte en docker container har skapats nĂ€r `yarn dev` anvĂ€nds i `strapi` kan CMS:et ladda för evigt. Se dĂ„ till att stĂ€nga ner strapi instansen i terminalen med CTRL + C. Sedan kan `docker compose up` köras i root. NĂ€r `yarn dev` körs igen borde CMS:et startas som tĂ€nkt. -- Om ett nollningsĂ„r Ă€r skapat i CMS:et men inte dyker upp i webapplikationen - se till att nollningsĂ„ret har en svensk locale. Detta Ă€r egentligen en bugg, i issue https://github.com/esek/nollesite/issues/25. + ```bash + # ./strapi + yarn install + ``` -## 📚 Struktur +3. Starta en lokal strapi instans: -Projektet bestĂ„r av tvĂ„ delar. En backend server och en frontend applikation. + ```bash + # ./strapi + yarn dev + ``` -### Backend +En lokal strapi instans kommer startas pĂ„ -Backenden bestĂ„r av ett [Strapi CMS](https://strapi.io/) som hanterar allt innehĂ„ll pĂ„ sidorna. Mer information om backenden finns [hĂ€r](./strapi/README.md). +3. Skapa ett lokalt konto +4. Ett [nollningsĂ„r kan nu skapas](https://ddgwiki.esek.se/index.php/Nollningshemsidan)! -### Frontend +### 🚀 Web -Frontenden Ă€r en [Next.js](https://nextjs.org/) applikation som hĂ€mtar data frĂ„n [backenden](#backend) och renderar sidorna serverside. Mer information om frontenden finns [hĂ€r](./web/README.md). +1. Kopiera `.env.example` till `.env` i [`/web`](./web) + + ```bash + # ./web + cp .env.example .env + ``` + + Uppdatera vĂ€rden i `.env` enligt instruktionerna i [filen](./web/.env.example). + +2. Installera dependencies: + + ```bash + # ./web + yarn install + ``` + +3. Starta en lokal strapi instans: + + ```bash + # ./web + yarn dev + ``` + +En lokal instans kommer startas pĂ„ . diff --git a/strapi/.env.example b/strapi/.env.example index bf743b3..d1aa450 100644 --- a/strapi/.env.example +++ b/strapi/.env.example @@ -18,10 +18,3 @@ SMTP_HOST= SMTP_PORT= SMTP_USERNAME= SMTP_PASSWORD= - - -# Wiki information, used to load the documentation -# on the startpage -WIKI_URL= -WIKI_USERNAME= -WIKI_PASSWORD= \ No newline at end of file diff --git a/web/.env.example b/web/.env.example index ccf4572..06b87cc 100644 --- a/web/.env.example +++ b/web/.env.example @@ -1,13 +1,11 @@ STRAPI_URL=http://127.0.0.1:1337 # En API-token frĂ„n strapi som anvĂ€nds för att hĂ€mta innehĂ„llet till sidan -# Genereras pĂ„ https://admin.nollning.esek.se/dashboard/settings/api-tokens -# av en strapi-administratör (t.ex macapar@esek.se) +# Genereras pĂ„ http://{strapi-url}/dashboard/settings/api-tokens # bör rimligtvis ocksĂ„ vara read-only STRAPI_API_TOKEN= # Nyckel som anvĂ€nds för att hĂ€mta t.ex. google calendar information -# I dagslĂ€get anvĂ€nds en nyckel kopplad till `macapar@esek.se` kontot i GCP/g-nollning: # https://console.cloud.google.com/apis/credentials GOOGLE_API_KEY=