Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/geeksforsocialchange/the-trans-dimension
The Trans Dimension is an online community hub connecting trans communities in the UK.
https://github.com/geeksforsocialchange/the-trans-dimension
elm elm-pages graphql graphql-client nonbinary nonprofit nonprofit-organizations placecal static-site transgender
Last synced: 4 days ago
JSON representation
The Trans Dimension is an online community hub connecting trans communities in the UK.
- Host: GitHub
- URL: https://github.com/geeksforsocialchange/the-trans-dimension
- Owner: geeksforsocialchange
- License: other
- Created: 2021-11-29T15:36:57.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-16T19:44:06.000Z (18 days ago)
- Last Synced: 2024-12-16T19:59:25.700Z (18 days ago)
- Topics: elm, elm-pages, graphql, graphql-client, nonbinary, nonprofit, nonprofit-organizations, placecal, static-site, transgender
- Language: Elm
- Homepage: http://transdimension.uk
- Size: 6.58 MB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 49
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-ccamel - geeksforsocialchange/the-trans-dimension - The Trans Dimension is an online community hub connecting trans communities in the UK. (Elm)
README
# The Trans Dimension
## A [PlaceCal](https://placecal.org/) community site
Front-end for [The Trans Dimension](http://transdimension.uk/), 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](https://genderedintelligence.co.uk/) and [Geeks for Social Change](https://gfsc.studio/).
Funded by the [Comic Relief Tech for Good “Build” fund](https://techforgoodhub.co.uk/build-fund-2021). Read more about the project [here](https://gfsc.studio/2021/12/14/enter-trans-dimension.html).
- Staging url: https://transdimension.pages.dev
- Production URL: http://transdimension.uk/# Development
## Prerequisites
- [node](https://nodejs.org/)
- [nvm for macOS & Linux](https://github.com/nvm-sh/nvm) or [nvm for Windows](https://github.com/coreybutler/nvm-windows)## Setup & install instructions
- make sure you are using the correct node version with `nvm use`
- install with `npm install`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:3030
- `npm run build` generate a production build in `dist/`## Formatting
We recommend integrating `[email protected]` 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](https://github.com/mpizenberg/elm-test-rs) to run [elm tests](https://package.elm-lang.org/packages/elm-explorations/test/latest/). 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`
- [Documentation site](https://elm-pages.com)
- [Elm Package docs](https://package.elm-lang.org/packages/dillonkearns/elm-pages/latest/)
- [`elm-pages` blog](https://elm-pages.com/blog)### 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
- `script/*` contains CLI code generation scripts to generate boilerplate for new `elm-pages` routes
- `.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
- `app/*` contains core files required by `elm-pages`. These are boilerplate altered for this project.
- `src/*` contains custom files. These are authoured from scratch for this project.
- `src/Data/PlaceCal` contains code for fetching, caching and decoding data from PlaceCal
- `src/Helpers/` contains utility code (e.g. for handling dates)
- `src/Theme/` contains view code like templates and shared styling
- `tests/*` contains test files### Content & Pages
- Routes in `app/Route/` automatically generate route based on file name
- New routes can be generated via CLI
- e.g. create a new stateless route by running `npx elm-pages run AddStaticStatelessRoute MyRouteName`
- Page templates are in `src/Theme/Page/`
- About and Privacy pages are generated from markdown in `content/`
- Copy is not from a datasource (e.g. UI or SEO text) is in `src/Copy/Text.elm`### Styling & layouts
- We are using [elm-css](https://package.elm-lang.org/packages/rtfeldman/elm-css/latest/Css) for styling
## 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 merge## License
Source code is released under the [Hippocratic License](https://firstdonoharm.dev/version/3/0/license/).
Graphic design by [Studio Squid](https://studiosquid.co.uk/) and © Gendered Intelligence 2022.
Illustrations © [Harry Woodgate](https://www.harrywoodgate.com/) 2022.
## Contributing
We welcome new contributors but strongly recommend you have a chat with us in [Geeks for Social Change's Discord server](http://discord.gfsc.studio) 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](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/M4M43THUM)