Skip to content

open-dating/od-universal-front

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

od-universal-front

Conventional Commits License Docker codecov DeepScan grade Github CI

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/

Development

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

Build

# 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

Test

npm run test

Structure

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

Mobile

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

Roadmap

  • 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