Giter Club home page Giter Club logo

boosti's People

Contributors

olegood avatar

Stargazers

 avatar

Watchers

 avatar

boosti's Issues

Application build info

Add build info in footer section and introduce the API for getting this information.

API:
GET /api/build-properties

{
  "artifact": "boosti-web",
  "name": "Boost TI",
  "time": "1643359627212",
  "version": "0.1-SNAPSHOT",
  "group": "boosti",
  "timestamp": "2022-01-28T08:47:07Z"
}

Example:
Version: 0.1-SNAPSHOT

CSS Flexbox layout

Create CSS layout including:

  • header
  • three unequal columns
  • footer

Add simple placeholders for these elements.

In-memory database

Use in-memory database to store questions, answers (optional) and tags.

Upload CSV file through UI

Create page called "Import" with elements:

  • choose file to upload (browse)
  • upload button
  • uploading result

Subtasks:

  • create "Import" page
  • add navigation to "Import" page through top navigation bar
  • results: "Success", "Failed" (with fail reason)
  • in case of successful uploading there is a link to "Questions" page

Add Question

Create dedicated screen for adding questions (topic and text are required).

Initial client structure and landing page

Create initial client structure (ReactJS).
Create landing page that lists all the questions and grouped them by topic.

Example:

Maven

  • How could we build project?
  • What version of Maven do you use?

SQL

  • What is DML?

Enable API tests previously disabled

Description

Enable disabled API tests after Basic Authentication implementation:

  • EndPointBuildPropertiesAPITest
  • EndPointQuestionsAPITest

Most probably it is necessary to specify header information.

Tasks

  • enable EndPointBuildPropertiesAPITest
  • enable EndPointQuestionsAPITest

Uncaught TypeError: lastModifiedDate is undefined

Blank screen when choose file to upload in Firefox.

Preconditions

  • Client: Firefox
  • Version: 0.2

Steps to Reproduce

  • Open Firefox
  • Navigate to "Import"
  • Click "Browse" and choose a file

Actual:
Console:

Uncaught TypeError: lastModifiedDate is undefined

The above error occurred in the <FileInfo> component:

FileInfo@http://localhost:3000/static/js/bundle.js:574:7
div
div
./node_modules/@emotion/react/dist/emotion-element-699e6908.browser.esm.js/withEmotionCache/<@http://localhost:3000/static/js/bundle.js:2603:66
Container@http://localhost:3000/static/js/bundle.js:13157:82
ImportContainer@http://localhost:3000/static/js/bundle.js:719:90
div
./node_modules/@emotion/react/dist/emotion-element-699e6908.browser.esm.js/withEmotionCache/<@http://localhost:3000/static/js/bundle.js:2603:66
Typography@http://localhost:3000/static/js/bundle.js:28167:87
div
./node_modules/@emotion/react/dist/emotion-element-699e6908.browser.esm.js/withEmotionCache/<@http://localhost:3000/static/js/bundle.js:2603:66
Box@http://localhost:3000/static/js/bundle.js:35221:72

Expected:
File is chosen and ready to be uploaded. File information is OK.

Update checkstyle version

Description

checkstyle published a release: 10.1

Code snippet

<puppycrawl.version>10.1</puppycrawl.version>

Tasks

  • update checkstyle version (puppycrawl) to 10.1

Initial project structure

Create simple web-project based on following languages and tools:

  • Java 17 (LTS)
  • Apache Maven 3.8.4
  • Spring Boot 2.6.3

Use ArchUnit

Introduce ArchUnit for implementing some demo rules that check overall architecture requirements.

Question Category (back-end)

Introduce new domain object - category. Each question has to be attached to category (one-to-one).

  • New domain entity - Category
  • Question's topic is now deprecated
  • API supports saving question with category

Deprecated code: QuestionServiceImplTest#shouldReturnAllQuestions

Description

Test case QuestionServiceImplTest#shouldReturnAllQuestions was fully replaced with Spock fixture QuestionServiceImplSpec#service should return all questions from repository in 83d659c

Reduce time of test running: 618ms -> 107ms

See for details: 83d659c

Tasks

  • delete unused QuestionServiceImplTest#shouldReturnAllQuestions
  • delete unused QuestionServiceImplTest#from(java.lang.Long, java.lang.String)
  • delete unused QuestionServiceImplTest#from(java.lang.String)

Drawer Menu

Create temporary drawer menu that opens from the left side.

Update Spring Boot version to the latest one

Description

New version of Spring Boot has been released. Keep the version up to date.

See the pom.xml:

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.6.5</version>
  <relativePath/> <!-- lookup parent from repository -->
</parent>

Tasks

  • checkout the latest version of Spring Boot and update it in pom.xml

Update README.md

Description

Add missing frameworks and libraries.

Tasks

  • add info about Checkstyle
  • add info about JPA/Hibernate

ESLint set up

Introduce ESLint and follow JS code best practices.

Separate API tests and ITCases

Introduce a separate type of tests - API.

All the tests that call RESTful API through Rest Assured will be called "API tests".

  • change prefix for all the tests that call REST API to APITest
  • ensure API tests run as part of the full build

Configure Checkstyle Plugin

Add simple checks:

  • avoid star import
  • check missing Javadoc

Do not fail the build if any violations found.

Deprecated code: UserRolesAttribute.java

Description

Since roles hierarchy implemented, no need to combine roles anymore.
Code of UserRolesAttribute.java could be safely removed.

P.S. This approach could be used in case of permissions-based solution (YAGNI).

Tasks

  • delete unused UserRolesAttribute
  • delete unused UserRolesAttributeTest
  • delete unused UserRolesAttributeSpec
  • move User to domain package

CSV: line starts with # should be ignored

Ensure uploading CSV follows comma-separated values convention.

  • add validation for CSV file
  • upload only valid CSV file
  • process commented lines correctly (starts with dash #)

Update README.md

Description

Review README.md file and keep all the languages, tools and frameworks up to date.

Tasks

  • add recently introduced languages and frameworks
  • wrap used tools/languages etc. with URLs

About Page

Create About page and migrate to app navigation bar from MUI library.

Export selected questions

Export selected questions into downloadable text file.
Add timestamp when file was generated.

  • introduce Question identifier

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.