GenerateNU / nightlife

Nightlife is an app that transforms how people discover nightlife by offering a user-driven rating system that helps users find the perfect venue based on ambiance, music, crowd, and service that are tailored to their preferences.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nightlife 🌃

A fullstack application for the Nightlife project

Stack

Nix Go Postgres Supabase TypeScript React Native

Tools

Expo Docker

Development Enviroment Setup

Before compiling and running our application, we need to install/setup several languages, package managers, and various tools. The installation process can vary, so follow the instructions for each item below!

Nix our devshell, standarizing the development environment for all engineers.

Go our primary backend language.

Node Package Manager our package manager in the frontend.

Docker and Docker Desktop our Postgres Database will be containerized in Docker.

Ngrok Allows us to easily connect the frontend to backend code.

Before Running

Create an .env file in the root directory:

SUPABASE_URL=<your-supabase-url-here>
SUPABASE_ANON_KEY=<your-supabase-anon-key-here>
DATABASE_URL<your-supabase-db-url-here>
SUPABASE_PROJECT_ID=<your_supabase_project_id_here>
SUPABASE_JWT_SECRET=<your_supabase_jwt_secret_here>
EXPO_PUBLIC_DOMAIN=<your_expo_public_domain>

Create a supabase account here and Cam and I will add you to the Generate org!

Running The Project

  1. In the base of the repo: run nix develop --impure
  2. Launch Docker Desktop
  3. In the base of the repo: run make db-run
  4. Then, open a new tab to run commands in: run make backend-dep then make backend-run
  5. Next, in a new tab run make ngrok-run
  6. Finally, open one last new tab: run make frontend-run

About

Nightlife is an app that transforms how people discover nightlife by offering a user-driven rating system that helps users find the perfect venue based on ambiance, music, crowd, and service that are tailored to their preferences.


Languages

Language:Go 70.2%Language:TypeScript 20.8%Language:Nix 4.1%Language:Makefile 2.8%Language:JavaScript 1.0%Language:Shell 0.6%Language:Dockerfile 0.5%