Code Monkey home page Code Monkey logo

bbuddy's Introduction

Build Status Quality Gate Issues

Overall Coverage UT Coverage Function Complexity Class Complexity Duplications Code Smells

This is the repo for the exercise project to be developed in Shanghai team's Modern Web Development course

Installation

Please install the following tools for this project. The latest version should be fine unless specific version is listed.

  • git
  • jdk 1.8
  • mysql
  • Intellij (please choose either community or ultimate edition)
    • Intellij idea community edition with the following plug-in installed
      • lombok plug-in
      • cucumber java plug-in
    • Intellij idea ultimate edition (evaluation) with the following plug-in installed
      • lombok plug-in
  • Chrome

Setup Command Line Development Environment

Use git to clone this project into a folder. Then in this folder, run the command below in order.

  • Create a default mysql dba user mysql -u root -p < src/main/sql/create_default_dba.sql
  • Init Intellij environment ./gradlew idea
  • Start Web Application ./gradlew run (on port 8090)
  • Run All Tests ./gradlew ci (on port 8080)
  • if you want to start it on a port rather than 8090 (e.g. 8070), please do ./gradlew run -Pport=8070

Setup Intellij Development Environment

  • Start Web Application
    • Intellij idea community edition
      • Run com.odde.bbuddy.Application as a Java application by setting environment variable "SPRING_PROFILES_ACTIVE" to "dev"
    • Intellij idea ultimate edition
      • Run com.odde.bbuddy.Application as a Spring Boot application by setting environment variable "SPRING_PROFILES_ACTIVE" to "dev"
  • Run Unit Tests. Run those unit tests as normal. The only limitation is that you can't run those "Nested" tests together with other non "Nested" tests
  • Run Acceptance Tests (cucumber). In feature file, you can select the feature or one scenario and then run it. In the configuration, you need to set environment variable "SPRING_PROFILES_ACTIVE" to "test"
  • Spring Boot Developer Tools is used so that you can hot load any modified code, template file and resource file without restart the application. Please follow the steps below to enable this hot load feature.
    • Start the application in Intellij as described in the first item. Don't start it with gradle in command line.
    • Edit any code or file, and make the project. Then, the change will be reloaded automatically.
    • You can install a Chrome extension called Live Reload so that the tab (in which this application is opened) will be refreshed automatically.

bbuddy's People

Contributors

josephyao avatar chaifeng avatar zbcjackson avatar shaman2009 avatar

Watchers

some utils avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.