_ ______ __ ___ ____
/ | / / __ \/ / / | / __ \___ _ _______
/ |/ / / / / / / /| | / / / / _ \ | / / ___/
/ /| / /_/ / /___/ ___ | / /_/ / __/ |/ (__ )
/_/ |_/\____/_____/_/ |_| /_____/\___/|___/____/
This is a website for Nola Devs, a community made up of New Orleanian software developers, tech workers, and tech enthusiasts.
The purpose of this app is to be a central event hub for the local NOLA dev community. Locals can check the event list to stay active in the community and visitors can get the inside information on what the NOLA tech community is up to.
Meetup organizers can submit an event with the noladevs eventbot in the community Slack.
If you have a new group you want to establish, please leave a message on the #general channel in the community Slack or create an issue on the repository for the site. We will respond shortly after.
To contribute please follow the contributing guide.
| name | env key | env value | dependent features |
|---|---|---|---|
| MongoDB Database name | DB_NAME |
noladevs |
app |
| MongoDB URI | MONGODB_URI |
ex: mongodb://localhost:27017 or other valid connection string |
app |
| Ding Dong Endpoint | PUBLIC_DINGDONG_HOST |
Endpoint handling Ding Dong requests | Doorbell |
| Ding Dong Phrase | PUBLIC_DINGDONG_PHRASE |
Used in POSTs to Ding Dong endpoint | Doorbell |
| Slack App Token | SLACK_BOT_TOKEN |
Token generated by Slack after installing to dev workspace. | noladevs eventbot |
The MongoDB variables are the only ones needed to get up and running. The others are only needed if you are directly working on those features.
-
Install mongodb v7.x.x Community Edition if not already installed locally or set up a free-tier MongoDB Atlas cluster.
-
Copy example env to get local up and running.
cp .env.example .env.localNote: On node >=17, you'll need to replace localhost with 0.0.0.0 (src)
- Install Dependencies and seed Database
npm i
npm run seed- Start app. It will run the web app in a development node environment, meaning that it will not load any external resources which may require secrets (API Keys, etc).
npm run dev- You now should be up and running to start developing 🥸
If you're working on the Slack app (thank you brave soul 🙏), there are a few extra steps.
- Create your own Slack workspace (makes dev easy and sandboxed).
- Create a test app with the manifest in slackbot-config.json.
- Install the app to your workspace.
- Run the noladevs app,
npm run dev. - Create a Cloudflare Tunnel to your dev instance,
npx cloudflared tunnel --url http://localhost:<PORT>/. - Edit the Request URLs in the manifest in the Slack portal.
a. Copy the URL from the Cloudflare Tunnel (
https:// ... .trycloudflare.com). b. Paste over the two<INSERT YOUR URL HERE>strings. - Copy the "Bot User OAuth Token" in the "Install App" section into your
SLACK_BOT_TOKENenvironment variable. - Run the
/eventslash command in your Slack workspace, take it for a spin.
Once you have both created (copy .env.example) and added to your .env.local file (or any other equivalent environment variable system), you can actually deploy it.
Instead of just running in the development environment, now the site will be built and then served (which is how it would run on Vercel).
To run the production environment, simply run these commands (and have environment variables populated).
npm i
npm run build
npm run preview