GenderedIntelligence / the-trans-dimension

The Trans Dimension is an online community hub connecting trans communities in London.

Home Page:http://transdimension.uk

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The Trans Dimension

A PlaceCal community site

Front-end for The Trans Dimension, an online community hub which will connect trans communities across the UK by collating news, events and services by and for trans people in one easy-to-reach place. A collaboration between Gendered Intelligence and Geeks for Social Change.

Funded by the Comic Relief Tech for Good “Build” fund. Read more about the project here.

Development

Prerequisites

Setup & install instructions

  • make sure you are using the correct node version with nvm use
  • install with npm install

Make sure you copy .env.example over into .env and edit as appropriate! This must be done before any of the following will work as it generates src/Constants.elm which is used in a number of places in the code.

Build

  • npm start to start a dev server on http://localhost:3000
  • npm build generate a production build in dist/

Formatting

We recommend integrating elm-format@0.8.3 into your code editor, but if you don't...

  • Please run npm run format to format .elm files in src before committing code.

Testing

We're using elm-test-rs to run elm tests. It is required to run either npm start (quickest) or npm build at least once in the project before tests will work.

  • run tests with npm test

Code & configs

This site is built with elm-pages

What it's for

  • elm.json for elm packages used for site
  • elm-tooling.json for elm packages used for code
  • .env is used to generate src/Constants.elm for elm-pages
  • .nvmrc contains project node version
  • package.json for node scripts and packages
  • package-lock.json for current versions of node packages
  • public/* contains static files to be copied direct to build
  • src/* contains app source files
  • tests/* contains test files

Content & Pages

  • Pages are in Page/ and automatic route based on file name
  • Copy is not from a datasource (e.g. UI or SEO text) is in Copy/Text.elm
  • We use [cCc] to denote placeholder copy
  • We use [fFf] to denote placeholder UI feature or section

Styling & layouts

Deployment

Deploys to Cloudflare Pages

  • code is tested and linted automatically before deploy
  • when a pull request is created, a preview site is deployed
  • when a pull request is merged into main, the production site is deployed

Development workflow

Adding issues

  • add effort & value labels (if you know enough about it)
  • put the issue in a milestone (if it is part of a current epic)

Working on issue

  • assign it to yourself before starting work
  • make a branch that includes the issue type (fix/feat/chore etc & number)
  • make sure you understand the acceptance criteria
  • don't forget to include tests if it's a new feature
  • ask questions & make plan

Code review & merge

  • check the acceptance criteria have been met (with tests if appropriate)
  • add comments & questions
  • once approved, leave for the author to squash and merge

License

Source code is released under the Hippocratic License.

Graphic design by Studio Squid and © Gendered Intelligence 2022.

Illustrations © Harry Woodgate 2022.

Contributing

We welcome new contributors but strongly recommend you have a chat with us in Geeks for Social Change's Discord server and say hi before you do. We will be happy to onboard you properly before you get stuck in.

Donations

If you'd like to support development, please consider sending us a one-off or regular donation on Ko-fi.

ko-fi

About

The Trans Dimension is an online community hub connecting trans communities in London.

http://transdimension.uk

License:Other


Languages

Language:Elm 99.3%Language:CSS 0.6%Language:JavaScript 0.1%