https://github.com/open-dating/od-universal-front
Universal app for web and android/ios
https://github.com/open-dating/od-universal-front
cordova dating material-ui react redux
Last synced: 4 months ago
JSON representation
Universal app for web and android/ios
- Host: GitHub
- URL: https://github.com/open-dating/od-universal-front
- Owner: open-dating
- License: gpl-3.0
- Created: 2020-02-14T17:08:08.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-02-10T21:15:56.000Z (almost 4 years ago)
- Last Synced: 2023-03-08T12:49:49.333Z (almost 3 years ago)
- Topics: cordova, dating, material-ui, react, redux
- Language: TypeScript
- Homepage: https://app.open-dating.org/
- Size: 5.75 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# od-universal-front
[](https://www.conventionalcommits.org/)

[](https://hub.docker.com/repository/docker/opendating/od-universal-front/tags)
[](https://codecov.io/gh/open-dating/od-universal-front)
[](https://deepscan.io/dashboard#view=project&tid=2754&pid=9569&bid=126329)

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](https://www.tokyoreporter.com/crime/tokyo-dating-site-registered-2-8-million-men-1-woman/)]
- 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](https://www.mic.com/articles/111010/there-s-a-disturbing-fact-about-the-people-we-choose-to-be-with)][[link](https://journals.sagepub.com/doi/10.1177/0146167210377180)])
- payment of servers, etc. will be through donations
More info on project site: https://open-dating.org/
## Development
```shell script
npm run start
```
If you use public api from https://app.open-dating.org/api/v1/doc/ you need to create .env file with:
```shell script
REACT_APP_HOST=https://app.open-dating.org
```
## Build
```shell script
# 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
```shell script
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/ - pages for current module(module is e.g.: chat, admin, orders etc.)
src/modules//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:
```shell script
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
```shell script
make cordova-run-on-phone-or-emulator-in-ubuntu
```
Or
```shell script
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
* [x] connect to sentry
* [x] create and add logo
* [x] check fcm notifications
* [ ] fix small layouts bugs
* [ ] add donat page
* [ ] add tos page
* [ ] check translate
* [ ] show more user profile fields in user profile
* [x] add more user profile fields and settings for edit
* [ ] publish version for android in Google Play
* [ ] write more tests
* [x] add multilang support