Luke Bunselmeyer 23e6bfe0de - Updated project name
- Updated readme
2023-05-08 01:56:14 -04:00
2023-05-08 00:55:06 -04:00
2023-05-08 00:55:06 -04:00
2023-05-07 11:03:30 -04:00
2023-05-07 22:54:00 -04:00
2023-05-06 11:52:55 -04:00
2023-05-08 01:56:14 -04:00
2023-05-08 01:56:14 -04:00
2023-05-08 01:56:14 -04:00
2023-05-08 01:56:14 -04:00
2023-05-07 11:03:30 -04:00
2023-05-08 00:55:06 -04:00
2023-05-07 21:39:26 -04:00

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
Description
No description provided
Readme 1.9 MiB
Languages
TypeScript 96.2%
Dockerfile 2.1%
JavaScript 1.1%
Shell 0.5%