Open Dating is open source project like Tinder and others similar service, with lot of differents:
![]() |
![]() |
![]() |
![]() |
![]() |
We realy use dnn for help find couples(by face similarity) | You can send photo in im(we protect you from nsfw) | You can see you stats | And stats in your country | And many others things |
Main ideas:
- all code is open
- no fake accounts, paid chats and scams [link]
- user profile stats opened for owner, statistics by countries opened for all people
- people can allow scientists to use their data from the service in order to study the problems of society and solve demographic problems
- we use science for help people find couple (now used face similarity [link][link])
- payment of servers, etc. will be through donations
More info on project site: https://open-dating.org/
npm run start
If you use public api from https://app.open-dating.org/api/v1/doc/ you need to create .env file with:
REACT_APP_HOST=https://app.open-dating.org
# install docker and make
# docker - https://docs.docker.com/install/
# make - https://www.gnu.org/software/make/
# build and run container
make build-n-run
npm run test
src/
src/config - config files, constants, css variables
src/enums - all enums
src/interfaces - all interfaces
src/locales - translate for i18n
src/modules - pages separed by modules
src/modules/<module-name> - pages for current module(module is e.g.: chat, admin, orders etc.)
src/modules/<module-name>/components - components which used only in module
src/shared-components - global reusable components, ui-kit, layouts
src/services - rest clients, socket clients and etc
src/store - redux stores
src/utils - helpers functions and etc
src/App.scss - global css
src/Routes.tsx - routes for app
src/Static.tsx - global components which rendered top of routes, runners for background services
Each component:
ComponentName.tsx - react component with named export, on root element css class name for component
ComponentName.scss - styles for component, related to root element css class
ComponentName.test.tsx - tests for component
For mobile version used: https://cordova.apache.org/
At first, go to https://console.firebase.google.com/ create project and save file for Cloud Messaging as: google-services.json - for android GoogleService-Info.plist - for ios in root project dir
Install requirements: https://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html#installing-the-requirements
Run on phone or android emulator
make cordova-run-on-phone-or-emulator-in-ubuntu
Or
mkdir www || echo "" # create www dir
npm run build-cordova # create build in www dir
cordova platform add android || echo "" # add android platform or skip
cordova requirements android # check req
cordova run android --verbose # run on emulator
For connect to local backend: https://github.com/open-dating/od-backend from phone, you can connect to your network(via wifi), create .env file with backend ip, for example:
REACT_APP_HOST=http://192.168.1.65:4300
If you cant view pics, in you backend manually set host - create .env file in backend root folder with backend ip:
HOST=http://192.168.1.65:4300
- connect to sentry
- create and add logo
- check fcm notifications
- fix small layouts bugs
- add donat page
- add tos page
- check translate
- show more user profile fields in user profile
- add more user profile fields and settings for edit
- publish version for android in Google Play
- write more tests
- add multilang support