# FediLove A web client to turn [Mastodon](https://joinmastodon.org) into a **Federated Meeting and Dating** platform. This client uses **Mastodon API** to implement dating App features such as: **Meeting people, Profile setup, Preferences, Matching, Chating, Sharing** It is a fork of [Pinafore](https://github.com/nolanlawson/pinafore) FediLove is available at [love.nogafam.es](https://love.nogafam.es). See the [user guide](https://git.nogafam.es/nogafam/fedilove-ui/src/branch/master/docs/User-Guide.md) for basic usage. See the [admin guide](https://git.nogafam.es/nogafam/fedilove-ui/src/branch/master/docs/Admin-Guide.md) if FediLove cannot connect to your instance. For updates and support, follow [@admin@masto.nogafam.es](https://masto.nogafam.es/@admin). ## Browser support FediLove supports the latest versions of the following browsers: - Chrome - Edge - Firefox - Safari Compatible versions of each (Opera, Brave, Samsung, etc.) should be fine. ## Building FediLove requires [Node.js](https://nodejs.org/en/) v8+ and [Yarn](https://yarnpkg.com). To build FediLove for production, first install dependencies: yarn --production --pure-lockfile Then build: yarn build Then run: PORT=4002 node server.js ### Docker To build a Docker image for production: docker build . docker run -d -p 4002:4002 [your-image] Now FediLove is running at `localhost:4002`. ### docker-compose Alternatively, use docker-compose to build and serve the image for production: docker-compose up --build -d The image will build and start, then detach from the terminal running at `localhost:4002`. ### Updating To keep your version of FediLove up to date, you can use `git` to check out the latest tag: git checkout $(git tag -l | sort -Vr | head -n 1) ### Exporting FediLove is a static site. When you run `yarn build`, static files will be written to `__sapper__/export`. In theory you could host these static files yourself (e.g. using nginx or Apache), but it's not recommended, because: - You'd have to set the [CSP](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) headers yourself, which are an important security feature. - Some routes are dynamic and need to be routed to the correct static file. ## Developing and testing See [CONTRIBUTING.md](https://git.nogafam.es/nogafam/fedilove-ui/src/branch/master/CONTRIBUTING.md) for how to run FediLove in dev mode and run tests.