/StudyAbroad

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

StudyAbroad

Getting Started with Docker

Container Name: StudyAbroadDocker Docker Container consists of image with Java Spring Boot backend project for storing data, with postgresSQL as database.

Install and Setup List any prerequisities, setup options and configuation details. Install Docker on your machine.

Clone the repository

git  clone  https://github.com/harsh25jai/StudyAbroad.git

Go to the project directory

cd  ./StudyAbroad

making sure docker is successfully installed and running

docker

Load docker image from tar file

docker load < studyabroaddocker.tar

Check docker images

docker images

Run docker image

docker container run studyabroaddocker

Docker Image File

To test the mobile app

install the StudyAbroadApp.apk on any Android device.

Note: The API domain configure in this apk is 192.168.0.195, you can change this easily by going inside codebase/StudyAbroadApp/src/core/index.ts API_URL.base. After change it will require for new build generation for which follow steps to setup React Native Project.

Postman API Documentation

Documentation

Walkthrough Video

Getting Started with Spring Boot

Requirements

For building and running the application you need:

Running the application locally

There are several ways to run a Spring Boot application on your local machine. One way is to execute the main method in the com.example.studyabroad.StudyabroadApplication class from your IDE.

Alternatively you can use the Spring Boot Maven plugin like so:

mvn spring-boot:run

OR You can use the VS Code Spring Boot Dashboard

And goto com.example.studyabroad.StudyabroadApplication class to configure running.

Getting Started with React Native

This is a new React Native project, bootstrapped using @react-native-community/cli.

Note: Make sure you have completed the React Native - Environment Setup instructions till "Creating a new application" step, before proceeding.

Prerequisites

Folder structure

This template follows a very simple project structure:

  • src: This folder is the main container of all the code inside your application.

  • assets: Asset folder to store all fonts, images, vectors, etc.

Filename strategy PascalCase for example NewImage.png, NewFont.ttf

  • components: Folder to store any common component that you use through your app (such as a generic button)

Filename strategy FileName PascalCase for example AppButton.tsx, create sepearte style file only when component is exceeding over 500 lines of code.

  • core: Folder to store any kind of constant that you have.

  • routes: Folder to store the navigators.

  • screens: Folder that contains all your application screens/features.

  • test-utils: Folder to store tests-related utilities and components.

  • App.tsx: Main component that starts your whole app.

  • index.js: Entry point of your application as per React-Native standards.

  • package.json: Metadata file in a Node.js project that contains information about the project.

Run Locally

Clone the project

git  clone  https://github.com/harsh25jai/StudyAbroad.git

Go to the project directory

cd  codebase/StudyAbroadApp

Install dependencies

# using npm
npm  install

# OR using Yarn
yarn  install

Step 1: Start the Metro Server (optional)

First, you will need to start Metro, the JavaScript bundler that ships with React Native.

To start Metro, run the following command from the root of your React Native project:

# using npm
npm  start

# OR using Yarn
yarn  start

Step 2: Start App

Let Metro Bundler run in its own terminal. Open a new terminal from the root of your React Native project. Run the following command to start your Android or iOS app:

For Android

# using npm
npm  run  android

# OR using Yarn
yarn  android

Check -src/core/index.ts, API_URL.base = IP Address of the machine running backend

Local Testing

For Android

npm  run  android  --  --mode="release"