- Dima Jaber
- Hamdallah Fatayer
- Noor Aldeen Ashqar
- Razan Abusamra
- Safe Online Environment For the Kids (Android Mobile App)
- DataBase (Local Host: Sqlite3 - Deployed Version: MySql)
- Backend (Python Django)
- Frontend (React Native)
- React (Redux - React Native Navigation - Hooks)
- User Interface Framework (React Native Paper)
- Design (React Native Animation - React Native Alerts)
- Payment System (Stripe)
- Testing (Jest & Enzyme)
- Authentication (JWT - Django Rest Framework Permissions)
- Continuous Integration (CircleCI)
- Deployment/Cloud Solutions (FrontEnd:Firebase - BackEnd:Google Cloud(NginX))
- TextEditor
- Android studio
- React Native > v0.6
- expo > v39.0
- expo-cli > v4.0
- Python 3.9
- django 1.0.0
- Fork the repo from github.
- Clone down your fork
git clone https://github.com/<Your Github userName>/Kiddo
- Move into the repo after its been cloned onto your local machine.
- Follow the instructions in the 'Installing Dependencies' section.
- Open terminal 1: From root directory to forntend directory:
cd frontend/
npm install
expo start
- To run the App
- (Option1) Press Android device/emulator to run the app in Android studio.
- (Option2) Scan the code and run it on your phone using Expo Phone Application.
- To run Jest test
npm test
- To build the App
- (Android)
npm run android
- (ios) - prefered on mac
pod install
npm run ios
- Open terminal 2: From root directory to backend directory:
cd backend/
python -m venv venv
- To enter venv (Virtual Environment)
. venv/Scripts/activate
- To install dependencies (after entering venv)
pip install -r requirements.txt
- To run server localy (You should install the dependencies first)
python manage.py runserver
- To run MySql database on localhost (You can skip this and use sqlite3 default database)
- Uncomment the database code in /backend/settings.py
- Install gcloud
- inside /backend terminal do the following
$ ./cloud_sql_proxy
-instances=blackpearl2:us-central1:blackpearl=tcp:3306
- To update dependencies file
- Enter venv or cd /backend
pip freeze > requirements.txt
- To update the database tables for localhost
python manage.py makemigrations api
python manage.py migrate
To deploy the server using app engine
- Install gcloud
cd backend/
gcloud app deploy
- To update the deployed server Run MySql database on localhost.
cd backend/
python manage.py makemigrations api
python manage.py migrate
gcloud app deploy
- Deployed: Front End https://kiddoi.web.app/
- Deployed: Backend Server https://blackpearl2.ew.r.appspot.com/
- Deployed: Backend Admin Server https://blackpearl2.ew.r.appspot.com/admin