Skip to content

vehikl/vehikl-growth-sessions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vehikl Growth Sessions

This application allows users to share and schedule their Growth Sessions.

To create / join a Growth Session, the user must login.

To avoid the registration step, this application uses oauth.

Docker Setup

Prerequisites

Setup

Initial configuration

sh scripts/create.sh

Note The create script populates OAuth credentials through a secure vault. You can skip this through pressing ENTER when prompted.

Note The create script might fail to install mutagen if you don't have XCode command line tools. Run xcode-select --install to install them.

Run

The site should be available at http://127.0.0.1:8008

Local Setup without using docker

Prerequisites

  • PHP 8.2
  • Composer
  • Node >= 18 LTS
  • PNPM
  • Mailtrap

Setup

Initial configuration

# PHP Dependencies
composer install
# Node Dependencies
pnpm i
# Setup env
cp .env.example .env
php artisan key:generate

Configuring the database

For ease of local development you can set the database to sqlite:

diff --git a/.env b/.env
index b0303cd..d7983fd 100644
--- a/.env.example
+++ b/.env.example
@@ -6,12 +6,7 @@ APP_URL=http://localhost

LOG_CHANNEL=stack

-DB_CONNECTION=mysql
-DB_HOST=127.0.0.1
-DB_PORT=3306
-DB_DATABASE=laravel
-DB_USERNAME=root
-DB_PASSWORD=
+DB_CONNECTION=sqlite

BROADCAST_DRIVER=log
CACHE_DRIVER=file

Once that is set up:

touch database/database.sqlite
php artisan migrate --seed (To have some pre-made fake mobs in your calendar)

OBS: For production, no seeding is needed, therefore you only need to run

php artisan migrate

Serving the App

Run php artisan serve

Optional

Setup Github OAuth:

  1. Go to github, and open your settings page
  2. Open Developer settings
  3. Create a new OAuth App
  4. Set the homepage to http://localhost:8008
  5. Set the callback url to http://localhost:8008/oauth/github/callback
  6. Save it
  7. Copy the Client ID to ./.env#GITHUB_CLIENT_ID and Client Secret to ./.env#GITHUB_CLIENT_SECRET

Setup Google OAuth:

  1. Go to your Google Developer console
  2. Select a Project to add OAuth to (or create a new project)
  3. Configure your Oauth Consent Screen
  4. Create OAuth Credentials for the project
    1. Select Web Application as the Application Type
    2. Give your application a Name
    3. Add http://localhost:8008/oauth/google/callback as a Redirect URI
    4. Click Create
  5. Copy the Client ID to ./.env#GOOGLE_CLIENT_ID and Client Secret to ./.env#GOOGLE_CLIENT_SECRET
  6. Set ./.env#GOOGLE_REDIRECT_URL to http://localhost:8008/oauth/google/callback

For more information, see: