Lead Frontend Engineer
Nx Office Hoursย - 8 August 2021
Hi, My name is Trung ๐
What is Angular Spotify?
Why another "clone"?
Monorepo and Nx Workspace
Principles
Spotify integration flow
The cherry on the cake
Q&A
Spotify premium is required for the Web Playback SDK to play music
Nx is a suite of dev tools to help you architect, test, and build at any scale.
Nx has fully integrated support for modern libraries like Jest, Cypress, ESLint, and more.
ย
Nx works especially well for monorepos
A single git repository that holds the source code for multiple applications and libraries, along with the tooling for them.
Isn't it the same as putting multiple folders/projects within a repo?
API
Core
Web
Mobile
.
โโโ api
โ โโโ package.json
โ โโโ package-lock.json
โ โโโ node_modules
โ โโโ tsconfig.json
โโโ web
โ โโโ package.json
โ โโโ package-lock.json
โ โโโ node_modules
โ โโโ tsconfig.json
โโโ mobile
โโโ package.json
โโโ package-lock.json
โโโ node_modules
โโโ tsconfig.json
.
โโโ api
โ โโโ types
โ โโโ album.ts
โโโ web
โ โโโ api
โ โ โโโ album-api.ts
โ โโโ types
โ โโโ album.ts
โโโ mobile
โโโ api
โ โโโ album-api.ts
โโโ types
โโโ album.ts
API
Core
Core
SDK
Web
Mobile
@spotify/sdk
.
โโโ core
โ โโโ types
โ โโโ album.ts
โโโ sdk (publish to npm)
โ โโโ interfaces
โ โ โโโ album.ts
โ โโโ api
โ โโโ album-api.ts
โโโ web
โ โโโ import { Album } from "@spotify/sdk"
โโโ mobile
โโโ import { Album } from "@spotify/sdk"
.
โโโ apps
โ โโโ api
โ โ โโโ import { Album } from "@spotify/shared/interfaces"
โ โโโ web
โ โ โโโ import { Album } from "@spotify/shared/interfaces"
โ โ โโโ import { PlayButtonComponent } from "@spotify/shared/components"
โ โ โโโ import { VisualizationComponent } from "@spotify/web"
โ โโโ mobile
โ โ โโโ import { Album } from "@spotify/shared/interfaces"
โ โ โโโ import { Button } from "@spotify/mobile/button"
โ โโโ sdk
โ โโโ import { Album } from "@spotify/shared/interfaces"
โโโ libs
โ โโโ api
โ โโโ web
โ โ โโโ visualization
โ โโโ mobile
โ โโโ button
โโโ shared
โ โโโ components
โ โ โโโ play-button
โ โโโ interfaces
โ โโโ album.ts
โโโ package.json
โโโ package-lock.json
โโโ node_modules
npm run affected:dep-graph
View the full notes
Implicit Grant Flow
Thanks everyone for your support!