/InReach

InReach is the world’s first open source verified LGBTQ+ resource platform.

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0


Explore the screenshots »

Report a Bug · Request a Feature . Ask a Question

Project license

Pull Requests welcome code with love by InReach

Table of Contents

About

InReach is the world’s first tech platform matching LGBTQ+ people facing persecution and discrimination with safe, verified resources.

The InReach App is available on web (desktop and mobile), and native iOS and Android. Over 9,000 services across the U.S. are currently listed, with new verified services added every day by trained volunteers. InReach’s open-source technology instantly matches LGBTQ+ people in need with independently verified safe housing, medical and mental health care, immigration and other legal help, meal assistance, education and employment, translation, community and spiritual support, and more critical services. InReach is a comprehensive, digital one-stop-shop for all intersectional community needs, with listed verified services for LGBTQ+ asylum seekers, refugees and other immigrants, BIPOC communities, transgender folks, youth and caregivers, and more. The InReach App is free for everyone – including lawyers, case managers, social workers, and other service providers and community organizations searching for affirming resource referrals for LGBTQ+ clients.

Built With

Getting Started

Prerequisites

pnpm

This project uses pnpm to manage packages. To install, run the command:

npm -g install pnpm

or follow the instructions on pnpm's installation page.

Docker

Docker (& docker compose) are used for local databases. Instructions to install Docker can be found here

Installation

To install the required packages & dependencies:

pnpm install

Project Structure

InReach/
├── @types/                       # Shared TypeScript types/overrides
├── apps/
│   ├── app/                      # InReach Application
│   └── web/                      # InReach Main Site
├── docker/                       # Docker compose file for local DB instance
├── lambdas/
│   ├── cognito-messaging/        # AWS Lambda to generate Cognito emails
│   └── cognito-user-migrate/     # AWS Lambda for user migration
├── packages/
│   ├── analytics/                # Analytic event handling
│   ├── api/                      # tRPC API route definitions
│   ├── auth/                     # NextAuth settings
│   ├── config/                   # Other shared configs
│   ├── crowdin/                  # Crowdin API/OTA
│   ├── db/                       # Prisma DB schema & other db scripts
│   ├── env/                      # Environment variable validation
│   ├── eslint-config/            # Custom ESlint configuration
│   ├── ui/                       # React components shared between apps
│   └── util/                     # Misc utility scripts/modules
└── patches/                      # Patched npm packages

Usage

To start the development live servers:

pnpm dev:app  # Starts Next.js for the InReach WebApp
pnpm dev:web  # Starts Next.js for inreach.org (future project)
pnpm dev:ui   # Starts Storybook for UI component development

Next.js based projects will be available at http://localhost:3000

Storybook will be available at http://localhost:6006

Roadmap

See the open issues for a list of proposed features (and known issues).

Support

Reach out to the maintainer at one of the following places:

Project assistance

If you want to say thank you or/and support active development of InReach:

  • Add a GitHub Star to the project.
  • Tweet about InReach.
  • Write interesting articles about the project on Dev.to, Medium or your personal blog.

Together, we can make InReach better!

Contributing

First off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.

Please read our contribution guidelines, and thank you for being involved!

Authors & contributors

The original setup of this repository is by InReach.

For a full list of all authors and contributors, see the contributors page.

Security

InReach follows good practices of security, but 100% security cannot be assured. InReach is provided "as is" without any warranty. Use at your own risk.

For more information and to report security issues, please refer to our security documentation.

License

This project is licensed under the GNU General Public License v3.

See LICENSE for more information.

Acknowledgements

Powered by Vercel

built with Codeium