Code For Tulsa, an official brigade of Code For America, hosts a website and blog at codefortulsa.org. This is that website's working repository.
The Code for Tulsa website aims to be a beacon for engagement in civic tech volunteer opportunities within the greater Tulsa area.
The site is currently undergoing a major update. See below for more information
- Figma Mockup
- Project Board
- Staging Environment
- Slack Channel (Techlahoma) - #ug-code-for-tulsa-website
This repo started as an effort to modernize the core site and create a dynamic working environment that facilitates additional contributions from current and future volunteers of all backgrounds.
In the early stages of this redesign project, the requirements were simple: create a web blog that facilitates content contributions from non-technical volunteers. Because of this, the project was initially bootstrapped as a static Gatsby site.
Soon after, discussions began about integrating other resources utilized by the organization, such as Twitter, Slack, Meetup, etc. It was agreed that a more flexible framework was desired to keep up with the dynamic demands of the organization and provide broader variety for volunteer engagement. The project was migrated to Next.Js in January 2022 and adapted for deployment on serverless platforms.
While the infrastructure now exists for more complex features, every effort should be made to implement them in as low resource/cost-effective a manner as possible by using static or incremental generation, external APIs, and client-side offloading wherever possible.
Install the LTS version of Node:
# via nvm (recommended) https://github.com/nvm-sh/nvm
https://github.com/nvm-sh/nvm
# via pre-built installer
https://nodejs.dev/download/
Install Yarn:
npm install --global yarn
Clone the repo and cd into the directory:
git clone https://github.com/codefortulsa/website.git ./code-for-tulsa-website
cd ./code-for-tulsa-website
Run the app with docker compose (the first time you run this it will have to build images and install dependencies which could take a few minutes)
docker-compose up
- add
-d
flag to run container(s) in the background. - if running in the background, you can start the logs up with
docker-compose logs -f
(the-f
will keep the logs running, omit it for a one time print)
Install packages & start the dev server:
yarn install
yarn dev
Run e2e and component tests with Cypress locally:
- Launch app:
yarn build
yarn start
OR
yarn dev
- In separate process: run headless in terminal:
yarn test
run with cypress ui:
yarn cypress:ui
Component tests go in the cypress/component
directory
End to End tests go in the cypress/e2e
directory
- Landing Page (in progress)
- Join Us - A Page on ways to get involved (in progress)
- Web Blog (in progress)
- Event Calendar with Meetup Integration (in progress)
- Twitter integration (in progress)
- Low-Code Utils for Organizers and Content Creators (in progress)
the site is undergoing an overhaul. If you'd like to contribute content, design, or development, please reach out to our team
- Design work needs polish
- Missing core features
- Components are raw and unstyled
- Posts can only include images from a web address (absolute URL)
- Links within posts are not optimized for client side rendering
- Code blocks lack syntax highlighting
- Not optimized for generated pages
- May be generic on some pages
- Project Lead - Erich Keil
- Content Lead - Carlos Moreno
- Development Lead - Alec Helmturner
- Front End Contributor - Nicole Janeway Bills
- Front End Contributor - Matt Gardner
- Documentation Contributor - Grace Fallon
- Additional Contributors: Isaac Ahlfield,
Volunteer Contact for Website Development:
- Project Lead - Erich Keil
Volunteer Contact for all other areas:
- Code for Tulsa Brigade Captain - Carlos Moreno
We welcome contributions from participants of all backgrounds! Writers, designers, and developers should read CONTRIBUTING.md to learn more. You can also reach out to us - we're friendly!
Code For Tulsa is a user group umbrellaed under the Techlahoma Foundation. All Code For Tulsa contributors, participants, and organizers must adhere to the Techlahoma Code of Conduct.