uppdaterad: Januari 16th, 2019
lär dig genom att göra
mitt föredragna sätt att lära sig är att lära sig genom att göra. Jag kan läsa och titta på saker hela dagen men tills jag kommer ner och smutsar med koden sjunker den inte riktigt in. Ett bra sätt att lära sig genom att göra är att bygga en app så det är vad vi ska göra!
det kommer inte att vara en högnivåöversikt som förklarar allt som händer. Det är mer av en genomgång för dem som har viss förtrogenhet med Elixir och Phoenix men har ännu inte bygga sin första app. Jag använder Phoenix 1.4 och Elixir 1.8 för denna handledning.
funktionaliteten blir enkel. Du kan skapa ett konto. Du kan söka och visa videor. Du kan lägga till nya videor. Det kommer att finnas vissa komplexiteter som att få information från YouTube API för att lägga till videor och använda Tailwind CSS istället för standard Milligram (Milligram ersatt Bootstrap i Phoenix 1.4). Men eftersom jag redan har gått igenom besväret med att bekämpa koden för att få saker att fungera, ska allt gå smidigt för dig.
Låt mig veta om du fastnar någon gång och jag hjälper dig gärna. Låt oss komma igång!
OBS: Om du fastnar någon gång kan du Lämna mig en kommentar eller kolla in reporäntan på GitHub. Varje del har sin egen gren och kommer att kopplas i början med (GitHub). Det kommer också att begå hashar hela tiden så att du kan se vad som gjordes för ett visst avsnitt. De kommer att se ut som nedan (70ea207). Om de är i en underrubrik avser åtagandet allt detta avsnitt. Annars kommer åtagandet att delas i slutet av den relevanta texten.
generera appen (70ea207) (GitHub)
vi ska bygga Catcasts. Det kommer att vara en plats att dela dina favorit YouTube-kattvideor. Användaren skapas genom att logga in med Google. Videorna skapas genom att skicka en URL till YouTube API och få informationen tillbaka. Denna information kommer att användas för att skapa en sida med videon inbäddad.
Om du inte redan har installerat Elixir och Phoenix kan du följa Elixir guide och Phoenix guide. Nu antar att det är gjort, dags att skapa vår app. Vi kör mix phx.new catcasts
för att generera vår app, och när den frågar ”hämta och installera beroenden? ”vi kommer att säga ”y”.
Ställ in Postgres (975847b)
i slutet av vår app som genereras får vi några användbara instruktioner om vad vi behöver göra nästa.
det första vi behöver göra när vi kör cd catcasts
och innan vi kör mix ecto.create
konfigurerar vår databas. Beroende på hur du har din lokala Postgres-inställning finns det en bra chans för din lokala miljö användarnamnet är din hemkatalog (för mig skulle det vara thebrianemory) och ditt lösenordsfält är tomt. Låt oss öppna vårconfig/dev.exs
– fil och konfigurera vår databas.
Obs: Om du inte har Postgres inställd på din lokala maskin, Heroku har en bra guide för att få det inrättas. Om du använder Homebrew kan du istället köra brew install postgresql
på kommandoraden.
Du kan sedan köra mix ecto.create
, din app kommer att kompilera, och då kommer du att se det underbara meddelandet, ” databasen för Catcasts.Repo har skapats.”Vid denna tidpunkt kan du köra mix phx.server
och besöka http://localhost:4000 för att se ” Välkommen till Phoenix!”
OBS: Om du ser ett meddelande som liknar ” ska jag installera rebar3? (om du kör icke-interaktivt, använd ” blanda lokalt.rebar-force”)”, fortsätt och välj”y”.
Vi har också tre tester som skapades med appen som för närvarande passerar. För att se dem passera måste vi först också uppdatera våra databasinställningar i config/test.exs
.
Du kan nu köra testerna med mix test
(din app kommer att kompilera innan du kör testerna) och se den härliga gröna texten”3 tester, 0 misslyckanden”.