Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cooper-gadd/song-board
🎶 What's everyone listening to?
https://github.com/cooper-gadd/song-board
bun docker drizzle-orm nextjs postgresql shadcn-ui tailwindcss
Last synced: about 2 months ago
JSON representation
🎶 What's everyone listening to?
- Host: GitHub
- URL: https://github.com/cooper-gadd/song-board
- Owner: cooper-gadd
- Created: 2024-11-13T01:48:42.000Z (about 2 months ago)
- Default Branch: master
- Last Pushed: 2024-11-13T02:31:04.000Z (about 2 months ago)
- Last Synced: 2024-11-13T02:34:38.013Z (about 2 months ago)
- Topics: bun, docker, drizzle-orm, nextjs, postgresql, shadcn-ui, tailwindcss
- Language: TypeScript
- Homepage:
- Size: 0 Bytes
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Song Board
## Table of Contents
- [About](#about)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Todo](#todo)
- [Technologies](#technologies)
- [T3 App](#t3-app)
- [Bun](#bun)
- [Postgres](#postgres)
- [Drizzle](#drizzle)
- [Next.js](#nextjs)
- [Tailwind CSS](#tailwind-css)
- [Shadcn](#shadcn)## Overview
This is a simple web application that allows users to recommend songs to each other.
## Getting Started
### Prerequisites
- [Docker](https://www.docker.com/products/docker-desktop/)
- [Bun](https://bun.sh)### Installation
1. Clone the repository:
```bash
git clone https://github.com/cooper-gadd/song-board.git
```2. Change into the project directory:
```bash
cd song-board
```3. Install dependencies:
```bash
bun install
```4. Create a `.env` file in the root of the project following the example in `.env.example`.
5. Start the database:
Mac/Linux:
```bash
./start-database.sh
```Windows:
1. Install WSL (Windows Subsystem for Linux) - https://learn.microsoft.com/en-us/windows/wsl/install
2. Install Docker Desktop for Windows - https://docs.docker.com/docker-for-windows/install/
3. Open WSL - `wsl`
4. Run this script:
```bash
./start-database.sh
```6. Push the database schema:
```bash
bun run db:push
```7. Start the development server:
```bash
bun run dev
```## Todo
- [ ] Create schema
- [ ] Insert data
- [ ] Render data
- [ ] Add data## Technologies
### [T3 App](https://create.t3.gg)
---
### [Bun](https://bun.sh)
#### Runtime
#### Package Manager
#### Bundler
#### Database (sqlite)
#### Test Runner
---
### [Postgres](https://www.postgresql.org)
---
### [Drizzle](https://orm.drizzle.team)
---
### [Next.js](https://nextjs.org)
Next.js is a React framework that allows for server-side rendering, static site generation, and client-side rendering. It is a great choice for building web applications that need to be fast and SEO-friendly.
#### [App Router](https://nextjs.org/docs/app)
The app router in Next.js is a file-based router. This means that each page in the app is a file in the `app` directory. The folder name is the route and the default export is the component that will be rendered. Layouts can be created by creating a file in the `layouts` directory and exporting a component that wraps the `children` prop.
#### [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations)
Server Actions are async functions that run server-side. These functions integrate with both Server and Client Components, enabling handling of form submissions and data modifications without the need for a separate API.
---
### [Tailwind CSS](https://tailwindcss.com)
---
### [Shadcn](https://ui.shadcn.com)