radio-station/README.md
Luke Bunselmeyer 23e6bfe0de - Updated project name
- Updated readme
2023-05-08 01:56:14 -04:00

2.3 KiB

Awesome Radio

Awesome Radio is a personal internet radio station aggregator.

Screenshot

Features

  • Browse radio stations by tag
  • Listen while navigating
  • Fully responsive UI for mobile, tablets, and desktop
  • Light and dark theme automatically enabled by OS settings
  • Deep linking for all UI actions
  • User accounts
  • Add content sources to import stations

Roadmap

  • Support user favorites
  • Support importing from other source types
  • Support manually adding/editing/disabling stations
  • Support PWA to allow user to save to home screen on mobile devices
  • User profile page
  • Fix: Primary drawer stays open after navigation
  • Fix: Station id in deep-link url...should be station slug
  • Fix: Missing form validation and error handling
  • Tech Debt: Add more unit and E2E tests

Development

Tech Stack

Project Structure Summary

.
├── .github/              Deployment workflow to fly.io    
├── app/                  Main app folder...contains components, routes, etc   
│   ├── models      Primsa DB queries
│   ├── root.tsx    Root of the Remix UI
│   └── routes      File based http routing         
├── cypress/              Cypress E2E tests 
├── prisma/               DB ORM: db migrations and seed
└── public/               Public static assets

Getting Started

  1. Create .env file from .env.example
cp .env.example .env
  1. Migrate & Seed the SQLite DB
npx prisma migrate deploy
npx prisma db seed

Running

npm run dev

Testing

Run unit tests

npm run test

Run E2E tests

npm run test:e2e:run

Run all checks

npm run validate