Music Store
Tech stack
- .NET 6
- SQL Server
- Entity Framework
- AutoMapper
- React
- Tailwind CSS
How to build locally
- Download & start SQL Server (free Express edition here)
- Start the API:
- Download and install .NET 6
- Edit the connection string in
./server/Models/MyDbContext.cs
to point to your SQL server - From a terminal, navigate to the
./server/
folder and call:dotnet restore
(installs dependencies)dotnet ef migrations add v1
(creates a migration)dotnet ef database update
(executes the migration)dotnet run
(starts server)
- Start the frontend:
npm install
(installs dependencies)npm run dev
(starts a dev server)
Design notes
The front end was initially written in vanilla javascript, but as the project grew I migrated the code to React to make life easier.
Seperate Dto's were used to reduce payload size & hide unnecessary data.
Todo
- MP3s should be streamed on demand, not downloaded all at once
- MP3 looping
- Home page (Hero & About section)
- Improve accesibility
- Create/update/delete modal for admin
- Auth
- Paging
- Connection strings should be in config file
- Unit tests
- Abstract to service layer