Skip to content

little-pinecone/scrum-ally

Repository files navigation

Scrum_ally

keep growing logo

Scrum_ally is a web application designed for project management. This project is a multi-module app, built with Spring Boot and Angular. It can be built into a single jar file using Maven.

Backend analysis

Quality Gate Status Maintainability Rating Reliability Rating Security Rating

Bugs Coverage Vulnerabilities Code Smells Technical Debt

GitHub

Overview and technical features

dashboard

The project currently supports creating and managing tasks for multiple projects.

Some of the more interesting technologies used are:

  • REST API
  • JWT token-based authentication
  • Role-based access to resources
  • Flyway migrations
  • Material design
  • Pagination

Getting Started

To clone this repository, execute the following in the command line:

$ git clone https://github.com/little-pinecone/scrum-ally.git

You can build the application with:

$ mvn clean install

To run fronted separately, on localhost:4200, got to the /frontend/src/main/angular directory and run:

$ npm start

Database

Use the attached docker-compose.yml file and run:

$ docker-compose up -d

Migrations

  • Migrations are executed by Flyway.
  • An example file: backend/src/main/resources/db/migration/V1_2020_03_5.sql will apply the first migration in project.
  • To generate an sql file based on the updated entities, run:
$ mvn test -Dspring.profiles.active=dbschema,development

Create a test user

POST Endpoint:

http://localhost:8080/api/users

Body:

{
    "userCredentials": {
        "username": "user",
        "password": "test"
    }
}

Running tests

Run all backend tests with the following command in the root directory:

$ mvn test

Run all frontend tests with the following command in the frontend/src/main/angular directory:

$ ng test

Sonarqube

If you want to generate a SonarQube report locally:

$ mvn clean verify sonar:sonar -Pcode-coverage

API documentation

To see the API docs generated by Swagger build and run the application, and visit the http://localhost:8080/swagger-ui/ link in your browser.

Add the CSRF token to request from Postman

  • Copy this code to the Tests tab for the mutable requests:
var xsrfCookie = postman.getResponseCookie("XSRF-TOKEN");
pm.globals.set('csrftoken', xsrfCookie.value);

add csrf to postman screenshot

  • Add the X-XSRF-TOKEN header that will use the {{csrftoken}} variable:

add csrf to postman screenshot

Built With

Screenshots

landing page dashboard project list project details side navigation login page

To do

  • HATEOAS
  • Managing project members, sharing projects
  • Custom messages for successful and failed operations
  • Breadcrumbs

License

This project is licensed under the Unlicense - see the license details.

About

Scrum_ally is a web application designed for project management

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published