Repository for SWE-573 master class.
Community Builder web project consist of two different parts namely front-end application which is javascript based client application and backend application which is rest service api.
————————————————————————————————————————
- Code is located under {github_repository}/community-builder-web
- Front-end application is a React Single Page Application. Front-end and back-end is stored in the same repository.
- Pages in the project is located under community-builder-web/src/forms.
- Libraries used in project is located in community-builder-web/package.json file.
- Css implementation used in project is located in community-builder-web/src/App.css file.
- Routing configuration used in project is location in community-builder-web/src/App.js file. Client application gets and send data from rest api via rest get and post requests with fetch.
————————————————————————————————————————
- {github_repository}/CommunityBuilder
- Back-end application is Spring Boot Rest API service.
- Rest Service endpoints are located under package com.mates.demo.controller
- Rest Service request and response types are located under package com.mates.demo.data
- Domain objects for MongoDb are located under package com.mates.demo.domain
- Repositories are located under package com.mates.demo.repository
- Services are located under package com.mates.demo.service
- Configuration parameters are stored in src/main/resources/application.properties file.
- Dependencies for used repositories is stored in pom.xml
MongoDb is used in project. Atlas cloud system is used to store database.
In order to run front-end on local environment follow the steps below :
- Open terminal
- Run “git clone https://github.com/mateskarayol/software-development-practice"
- Run “cd software-development-practice/community-builder-web”
- Run “npm install”
- Run “npm start”
- As default “http://localhost:3000/" would be shown on browser as mainpage.
or
- On provided disk, go to the .../software-development-practice/community-builder-web
- Run “npm install”
- Run “npm start”
- As default “http://localhost:3000/" would be shown on browser as mainpage.
In order to run front-end on local environment follow the steps below :
- Open terminal
- Run “git clone https://github.com/mateskarayol/software-development-practice"
- Open IntelliJ or any preferred IDE
- Open project .../software-development-practice/CommunityBuilder
- Build project
- Run “mvn clean install”
- Start
- Open “http://localhost:8080/" on browser.
In order to deploy back-end module follow the steps below : Deployed back-end module : https://community-builder-prj.herokuapp.com/
- First download Heroku command line interface from internet.
- Open terminal
- Go to folder .../software-development-practice/CommunityBuilder
- Run “heroku login”
- Run “heroku git:remote -a community-builder-prj”
- Run “mvn clean package”
- Run “heroku buildpacks:set heroku/jvm”
- Run “heroku deploy:jar target/demo-0.0.1-SNAPSHOT.jar --app community-builder-prj”
- Run “heroku open”
- Run “heroku logs”
In order to deploy front-end module follow the steps below : Deployed front-end module : https://community-builder-web.herokuapp.com/
Note : It is important to locate front-end project folder as a main repository folder in GitHub so as to Heroku system could deploy React application properly. Otherwise, deployment would fail.
- First download Heroku command line interface from internet.
- Open terminal
- Go to folder .../software-development-practice/community-builder-web
- Run “heroku login”
- Run “heroku git:remote -a community-builder-web”
- Run “git push”
- Run “git push heroku master”
- Run “heroku open”
- Run “heroku logs”