matt-cassinelli / music-store

A full-stack app to sell music. Written with .NET API & React.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Music Store

demo

Tech stack

  • .NET 6
  • SQL Server
  • Entity Framework
  • AutoMapper
  • React
  • Tailwind CSS

How to build locally

  1. Download & start SQL Server (free Express edition here)
  2. Start the API:
    1. Download and install .NET 6
    2. Edit the connection string in ./server/Models/MyDbContext.cs to point to your SQL server
    3. From a terminal, navigate to the ./server/ folder and call:
      1. dotnet restore (installs dependencies)
      2. dotnet ef migrations add v1 (creates a migration)
      3. dotnet ef database update (executes the migration)
      4. dotnet run (starts server)
  3. Start the frontend:
    1. npm install (installs dependencies)
    2. 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

About

A full-stack app to sell music. Written with .NET API & React.


Languages

Language:JavaScript 39.5%Language:C# 35.1%Language:PowerShell 23.2%Language:CSS 2.2%