Code Monkey home page Code Monkey logo

bjs-api's Introduction

Deploy

BJS-ORG

BJS-ORG combines all server-site project and repositories (that means API and Website). This show the current state of deployment. The repositories README.md is also used as central planing and documenting tool.

Organization

Getting started with BJS-WEB

  • Download Visual Studio Code
  • Git
  • Create folder
  • Open Git Bash (right click)
  • git clone https://github.com/bjs-org/bjs-web.git
  • Open with VSCode
  • Click on "master" (bottom,left) and select "origin/feature/api-connection"

Scrum

3rd Sprint

Goals

BJS-APP

  • Edit classes dialog
  • Switch page via state
  • Add results page

BJS-API

  • Interface for reading csv-files

2nd Sprint

Goals
  • (only students) Sort classes and students with Array.sort()
  • Modals with forms
  • Style the "add button" -> bal
  • Think about the admin interface
  • Think about Top 3 Students Interface
  • Improve code

BJS-APP

  • Edit classes dialog
  • Switch page via state
  • Add results page

BJS-API

  • Rebase add view branch onto master

1st Sprint

Goals

BJS-WEB

  • Sort classes and students with Array.sort()
  • Edit student function
  • Remove student function
  • Add students function
  • Modals with forms
  • Style the "add button"

BJS-APP

  • Edit classes dialog
  • Switch page via state
  • Add results page

bjs-api's People

Contributors

aykborstelmann avatar liamskydamien avatar

Watchers

 avatar  avatar

Forkers

coyne1217

bjs-api's Issues

User / Role Information Endpoint

Add an endpoint which gives the clients information about their rights an privileges.
An answer from this endpoint may look like this:

{
    "admin":false,
    "can_create_classes":true,
    "...": "..."
}

This information can be used by the app or web client to hide/show buttons for the creation of classes, students, ...

Import CSV data

Load CSV data from file to database, so classes and their students can be imported easily.

Sample data

Nachname Vorname Klasse Geburtsdatum Geschlecht
Borstelmann Ayk Q2 28.03.2002 m
Heß Liam Q2 15.08.2001 m
Buscemi Jalen Q2 24.11.2001 m

Realization

There should be an endpoint which receives csv-data like this and automatically creates the necessary classes as well as their students.

Timetable for helper

Maybe we could add a timetable in which the helper can see where he/she and the class has to be and when.

Classes cannot be deleted

The server answers with a 204 No Content as if the class was deleted, but for some reason, it isn't.

Categorization different papers

Each student gets and paper depending on its age level and achieved points.
Our system has to categorize to winner-, honour- and participant-paper.

Add Caching

Implement caching for methods like

  • getAValue()
  • getCValue()
  • getVictoryValue()
  • getHonorValue()
  • some how calculateScore

This will improve our performance trasticly while scaling with requests.

Documentation of different API objects [Finishing TODOs]

We have already some TODOs marked in the code in the asciidoc documentation:

Please document for each endpoint the object πŸ™

  • StudentRepository
  • ClassRepository
  • SportResultRepository
  • UserRepository
  • UserPrivilegeRepository

Probably most important is the documentation of the different disciplines in the SportResultRepository.

User Management and Spring Security

  • those who have gotten access to a class can see just those students and their results
  • administrator can see all students and their results in order to print the papers

Add score and categorization to student's attributes.

Supplementation of #4:

Add score as well later in #7 the categorization to the student's attributes.

This may be accomplished by

@Entity
public class Student {
    
    private String firstName;
    ...

    public Integer score() {
        // method call to student controller.
    }

}

Also, it would be great to have a link to /students/{id}/score in the _links-section of a student.

So to wrap it up:

  • Add categorization and score to the student's attributes directly
  • Add a link to categorization and score in the _links-section of a student

This would be comfortable to work with.

Calculation of the score

The score should be calculated centralized in the API.
I recommend this to be accessible at /api/v1/students/<student>/score.

The following steps might be helpfull

  • Finding the formula for the right calculation of the BJS-Score
  • Implementing the calculation of the formula
  • Implementing a RestController for this purpose

This might help.

Export class endpoint

An endpoint which returns an Excel- or CSV-file for a specific class.
This information could be formatted like this:

name long jump 50m run points gender paper
Ayk Borstelmann 4.1 5.5 1031 m honour
Liam Heß 3.1 6.6 921 m victory

This file should then be accessible from the app and the web interface

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.