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 for Mac: https://www.docker.com/products/docker-desktop
# PHP Dependencies (This is important just to have sail)
composer install
# Setup env
cp .env.example .env
# Start sail containers
sail up -d
# Install php dependencies through sail
sail composer i
# Initially App key
sail artisan key:generate
## Initialize database
sail artisan migrate --seed
# Start frontend
sail pnpm i
sail pnpm dev
# The app will be served on http://localhost:8008 by default
# The port may be changed via the APP_PORT env variable # Frontend
sail pnpm test
# Backend
sail artisan test
# To run these tests through the IDE, remember to configure it to use Remote Interpreters (for both PHP and Node)- Go to github, and open your settings page
- Open Developer settings
- Create a new OAuth App
- Set the homepage to
http://localhost:8008 - Set the callback url to
http://localhost:8008/oauth/github/callback - Save it
- Copy the Client ID to
./.env#GITHUB_CLIENT_IDand Client Secret to./.env#GITHUB_CLIENT_SECRET
- Go to your Google Developer console
- Select a Project to add OAuth to (or create a new project)
- Configure your Oauth Consent Screen
- Create OAuth Credentials for the project
- Select
Web Applicationas the Application Type - Give your application a Name
- Add
http://localhost:8008/oauth/google/callbackas a Redirect URI - Click Create
- Select
- Copy the Client ID to
./.env#GOOGLE_CLIENT_IDand Client Secret to./.env#GOOGLE_CLIENT_SECRET - Set
./.env#GOOGLE_REDIRECT_URLtohttp://localhost:8008/oauth/google/callback
For more information, see:
You will need slack admin privileges, as far as I can tell.
- Open Slack
Admingear on the furthest right drawer menu (under Home, DMs, Activity, Files, Later, and More button-tabs) - Click Apps & Workflows (will open slack in the browser)
- In the browser, on the top navigation, click
Build - Click
Create New Appand pickFrom Scratch - Click
OAuth & Permissionsin the left menu - Copy
Bot User OAuth Tokenand put it in the env asSLACK_CHAT_TOKEN - Under
Bot Token Scopes, you will need to addchat:write
Using #channel-name works for posting new messages, but not for updating those messages, so it's better to get the internal slack id.
- In slack, open the channel you want to use
- In the vertical ellipsis menu on the top right of the channel view, click
Open channel details - At the very bottom of the modal, there is some text
Channel ID: C________, copy that ID, and use it in envSLACK_CHAT_CHANNEL
If you don't do this step, it's possible your messages will send failing with an error about the channel being invalid
- In slack, open the channel you want to use
- In the vertical ellipsis menu on the top right of the channel view, click
Open channel details - In the modal, click the
Integrationstab - In the
Appssection, clickAdd apps - Find your app in the list, and click
Add
You can use php artisan dev-mode:login-as to generate a login link for a user while in the local development environment.
There is an optional argument that accepts the github nickname, and without the argument, you are presented with a list of current users.
- Statistics can be seen on
/statistics - By default, the statistics will only reveal which users have a given member has not yet mobbed with.
- Additional statistics can be shown with
/statistics?full-display