https://github.com/petermsouzajr/decibel-tribe
https://github.com/petermsouzajr/decibel-tribe
Last synced: 13 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/petermsouzajr/decibel-tribe
- Owner: petermsouzajr
- Created: 2024-06-30T19:57:40.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-04-09T17:17:56.000Z (16 days ago)
- Last Synced: 2025-04-09T18:33:05.179Z (16 days ago)
- Language: TypeScript
- Homepage: https://decibel-tribe.vercel.app
- Size: 3.29 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Decibel Tribe
**Decibel Tribe:** The social network for musicians and industry pros. Find collaborators (drummers, photographers, bookers, merch), connect with peers, plan tours, and explore dating, all within a community that puts music first, DECIBEL TRIBE! Stay Human!
## Getting Started
Follow these steps to set up the project for local development.
### Prerequisites
- Node.js (See `.nvmrc` or `package.json` for version. Using [nvm](https://github.com/nvm-sh/nvm) is recommended.)
- npm (comes with Node.js)
- Git
- Access to a running PostgreSQL database instance.### Installation & Setup
1. **Clone the repository:**
```bash
git clone https://github.com/petermsouzajr/decibel-tribe.git
cd decibel-tribe
```2. **Install dependencies:**
```bash
npm install
```3. **Set up Environment Variables:**
- Copy the example file: `cp .env.example .env`
- **Edit `.env`** and fill in all required values, especially:
- `POSTGRES_PRISMA_URL` (for migrations/Prisma Client)
- `POSTGRES_URL_NON_POOLING` (for Prisma Studio/direct connections)
- Stream Chat keys (`NEXT_PUBLIC_STREAM_KEY`, `STREAM_SECRET`)
- Lucia secret (`LUCIA_SECRET_KEY`)
- Google OAuth credentials (if needed for local testing)
- UploadThing keys
- _(Add any other critical env vars needed)_4. **Database Setup:**
- Ensure your PostgreSQL database is running and accessible via the connection URL in `.env`.
- Apply migrations to set up the schema:
```bash
npx prisma migrate dev
```
- (Optional, but recommended for development) Seed the database with test data:
```bash
npm run db:seed
```5. **(Optional) View Database:**
You can use Prisma Studio to view your local database:
```bash
npx prisma studio
```## Running Locally
Once setup is complete, start the development server:
```bash
npm run dev
```The application should be accessible at `http://localhost:3000` (or the port specified in your `.env` or Next.js config).
## Testing
This project uses [Vitest](https://vitest.dev/) for unit, integration, and seed tests, and [Cypress](https://www.cypress.io/) for End-to-End (E2E) tests.
- **Run all developer-focused tests (Vitest - Unit, Integration, Seed):**
```bash
npm run dev:test:all
```
- **Run comprehensive developer checks (Lint, Types, Tests, Build):**
This is the recommended command to run before committing or pushing changes.
```bash
npm run dev:check:all
```For more detailed information on specific testing commands (watch mode, UI, coverage, Cypress tests), please see the [CONTRIBUTING.md](./CONTRIBUTING.md) guide.
## Contributing
Contributions are welcome! Please read our contribution guidelines and code of conduct before submitting pull requests.
- **[CONTRIBUTING.md](./CONTRIBUTING.md)**
- **[CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)**