Giter Club home page Giter Club logo

devmarkt-backend's People

Contributors

dependabot[bot] avatar goldmensch avatar kxmpxtxnt avatar rainbowdashlabs avatar t1il avatar taucher2003 avatar yannicklamprecht avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

devmarkt-backend's Issues

Ci - Add Danger Review

Implement Danger as automated review. Already happened conversations resulted in the DangerJS implementation.
This issue will be used for the planning of the Danger Checks

General

  • Warn if no assignee is set, an assignee makes it clear, who is responsible for merging after the reviews happened
  • Warn if no labels have been set, labels indicate the type of the change
  • Warn if no milestone is set, a milestone indicates the release the change should get published in
  • Warn if the PR has the "better description" label to update the description of the PR
  • Message if the PR modifies the tooling and is from an outside contributor
  • Warn if the PR modifies the .idea directory and is from an outside contributor (message if collaborator)

Linter

  • Fail if a file is missing a newline at the end
  • Fail if a file uses wildcard imports
  • Fail if a file name does not comply with /[a-z0-9]+\.[a-z0-9]+/i

Management - Endpoints - Some essential endpoints, like the others

... look into the other issues, where features are planned
The "management system" provides some admin actions

  • delete entire user data, this includes all data, that is user related: application, history etc.
  • fetch all user data, this data is fully represented, so no other requests are needed
  • block an user from creating applications
  • unblock user
  • get block status
  • swagger docs

Template - Endpoints - Add essentially endpoints: create, replace, get, list, delete

This issue is used to plan and track the status of this features:
Add some essentially template endpoints:

  • Create -> create a template
  • Replace -> replace a template by it's name
  • Get -> get a template by name
  • List (names) -> list names of all templates
  • Delete -> delete a template by it's name

Also

  • Swagger generation
  • Swagger description
  • Ci for test

Improve Readme

Add a better readme for this project, containing some informations:

  • the goal of this project
  • informations about the features and structure of the backend
  • usage (docker etc)
  • module informations
  • contributing
  • short license reference

Application - Events - Add essential events

This issue was created to plan and track the current status of the implementation of some events, which are required to guarantee the core functionality of this backend.

  • application created
  • application deleted
  • application processed

More informations about applications: #6

Run Build Workflow in PRs from Forks

Currently the CI Workflow does not run for a PR from a fork. To fix this, a new workflow with the same configuration should be created.

That workflow needs a condition, so it only runs if the PR is from a fork and not from an inside collaborator

Application - GraphQL

For the core functionality of this backend there are some application queries required.
This issue is used to plan and track the current status of the implementation.

  • create an application
  • edit (current) application
  • delete an application (id)
    - [x] get application (id/period of time in which the application was processed)
  • get all user applications
  • process an application

An Application is a filled template, that belongs to a user. A user may only have one current application, that can be processed by a moderator (Rejected, Accepted). If an application is rejected, then its status changes to "rework" and the user is able to rework the application. After processing an application becomes immutable and can be get via its id directly or by a period of time in which the application was processed.

Postgres

After some internal discussions, we decided to use PostgreSQL as our database. Our data can be easily represented in a relational database, so we would also enjoy the benefits of a schema based database, this would support the data consistency.

Problems with MongoDB (and Micronaut):

  • lack of integration (currently under development)
  • lack of migration tools, Mongock uses reflections and has limited bean injection
    - no data (format) validation

All these problems can be easily solved by using an SQL database, like PostgreSQL.

Add Healthcheck before running Test Suite

Running the Test Suite directly without checking the health of the backend container before wastes a lot of time before the logs are displayed to show the error on startup.

Adding a healthcheck before running the test suite will solve that as "fail-fast"

History - Endpoints - Add essential endpoints

The history allows to get or delete an older application of a user by it's user id and timestamp.
This issue contains informations and the current status of the implementation.

  • get all application timestamps of an user
  • get a specific application of an user by timestamp
  • delete the entire history of an user
  • delete a specific application of an user
  • swagger docs

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.