GithubHelp home page GithubHelp logo

digitalexcellence / dex-backend Goto Github PK

View Code? Open in Web Editor NEW
21.0 6.0 10.0 22.03 MB

Backend for Digital Excellence Platform

Home Page: https://dex.software

License: GNU Lesser General Public License v3.0

C# 19.84% HTML 0.38% CSS 0.02% JavaScript 0.09% Dockerfile 0.03% Less 0.02% Shell 0.01% Batchfile 0.01% Raku 79.61%
net-core-3 educational-software dex fhict hacktoberfest

dex-backend's Introduction

DeX-Backend

Production Deployment Staging Deployment Code Coverage .NET Core GitHub issues

This repository contains the .NET Core backend for DeX platform.

Quick links

What is Digital Excellence?

A lot of employees and students of Fontys School of ICT (FHICT) create a lot of nice products. As a hobby, for their work or because of a school project. These can be software solutions, small scripts, research papers, thesis but possibly also project ideas and proposals for others to pick up. Unfortunately, most of them remain private and are not known by the majority of the population. The goal of the DeX-platform (short: DeX) is to make all this work more findable and thus improving collaboration.

Commonly heard criticism is that “we already have GitLab for this”. This, however, is only one specific source. A content creator can choose to use a different platform for its project. DeX will search for all sources that are linked to the platform. Moreover, GitLab is mostly used in software development. Research papers, for instance, have a different source. We want to find all relevant information and thus search in all available sources, not only GitLab. The benefits of using DeX will include, but probably not be limited to:

VISIBILITY

Projects that are now only known by a small group of people will be more visible to the whole community. This increases the visibility of innovative solutions as well as their collaborators.

COLLABORATE

People can easily find the collaborators of a project (proposal) and collaborate with them more easily. This creates a sort of open-source community in which all our collaborative ideas are shared.

AGGREGATE

People have a better overview of their own work. This can be useful for instance when maintaining a portfolio or using examples in class, both as a teacher as well as a student. A student can show his or her previous work and maybe even demonstrate certain learning outcomes within that particular semester.

SHOWCASE

Administrators can more easily find good examples of innovative solutions (showcases) that are built by the community. This can then, for instance, be used for promotional use. The interesting projects will be praised by the community and will be identified sooner and more easily. Such projects can then be put on the website of FHICT for instance.

CENTRALIZE

It can be a central place where all project proposals can be gathered. Internships, minors, challenges for certain semesters such as Open Innovation all have their own format and system where employees and students need to work with. This can all potentially be grouped into one system.

SUGGEST

DeX can suggest interesting projects for you as a person, based on interest such as techniques, a certain topic or based on the collaborators which (some of them) you follow and/or share the same interests. This way you will be informed and up-to-date with the latest news and trends.

dex-backend's People

Contributors

aintabb avatar arilith avatar bartvaneijkelenburg avatar basvanmil avatar blurrays avatar brend-smits avatar davebouman avatar dependabot[bot] avatar elmiratjee avatar hansensven avatar jcoenen96 avatar jverbruggen avatar karinakozarova avatar macfleury-2000 avatar matir8 avatar maxkorlaar avatar maxvanhattum avatar meesvanstraten avatar niraymak avatar ramonpeek avatar rensvdlinden avatar rubenb994 avatar rubenfricke avatar stijngroenen avatar timsnoek123 avatar tomieckert avatar waltersajtos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

dex-backend's Issues

Digital Excellence description

In GitLab by @Brend-Smits on Mar 10, 2020, 10:04

Write a description that describes DeX and that shows the benefits of DeX platform, explaining why it's not just a glorified GIT Search. Max half A4

CRUD - Add project manually [REPLACEMENT ISSUE]

The original issue

Id: 11
Title: CRUD - Add project manually

could not be created.
This is a dummy issue, replacing the original one. It contains everything but the original issue description. In case the gitlab repository is still existing, visit the following link to show the original issue:

TODO

Setup a project plan

In GitLab by @Brend-Smits on Mar 4, 2020, 20:36

The project plan includes but not limited to:

  • Project Team
  • Stakeholders
  • Roles & Responsibilities
  • Goals & Scope
  • Current Situation
  • Problem Description
  • Project Goals
  • Project Deliverables and Non-Deliverables
  • Deliverables
  • Non-Deliverables
  • Resources and Cost
  • Project Execution Plan
  • Release Planning
  • Timeline
  • Product Backlog
  • Risk Management

Privacy document

In GitLab by @Brend-Smits on Mar 4, 2020, 20:36

Create a document that contains an advice concerning the privacy of the users of Digital Excellence

Filter & Sorting system

In GitLab by @Brend-Smits on Mar 9, 2020, 13:23

  • How are we going to tackle this? Research is required to define sub-issues
  • Are there going to be categories?
  • Tags? Auto-tagging?

Define architecture for backend

In GitLab by @Brend-Smits on Mar 4, 2020, 20:36

Define a scalable architecture.
Think broad, if we want to scale this. How are we going to do this with the architecture?
Will a micro-service architecture benefit us?

Proof-of-concept Platform with Gitlab

In GitLab by @Brend-Smits on Mar 4, 2020, 20:36

  • How can we gather data from Gitlab?
  • What data can we gather from Gitlab?
  • Implement a user interface that is easily expandable and that is easy to use
  • Implement a backend that follows SOLID principles where applicable
  • Comply with legal entities / GDPR

Wilrik comments:
Loose,Wilrik W.R. De @wilrikdeloose · 2 weeks ago
Maintainer
We'll start with hosting GitLab and manually added projects on the platform. The design of the platform however should be setup in such a way that it is easy to add different data sources (internship reports, graduation portfolios, etc).

Loose,Wilrik W.R. De @wilrikdeloose · 2 weeks ago
Maintainer
It would be nice to have a feature that allows the user to take their internal GitLab project(s) and make it publicly available so that the portfolio is available outside of FHICT, for instance when graduated.

Setup plan / Analyse document

In GitLab by @Brend-Smits on Mar 4, 2020, 20:36

  • Use cases
  • User stories
  • Functional and non-functional requirements (MoSCoW)
  • Diagrams to support user stories
  • Project description and definition

What governance is required?

In GitLab by @Brend-Smits on Mar 4, 2020, 20:36

  • Investigate what governance is required to get this project off the ground
  • What data can we legally gather and use from our own platforms?
  • What data can we legally gather and use from external platforms like Github?
  • What methods of gathering data are okay to use? Web scraping, API's, etc.

Notification system

In GitLab by @Brend-Smits on Mar 9, 2020, 13:20

  • Brainstorm and setup requirements
  • Notified if a person that I follow does something
  • Notified for 'hot/trending/ item
  • Research, how should we notify the user? Email, in dashboard
  • Notification feed
  • Research, should users get an email with weekly hot items for example?

Project highlighting

In GitLab by @Brend-Smits on Mar 9, 2020, 13:08

  • Personal projects
  • Platform wide projects
  • Follow user/projects
  • Implement with notification
  • How should we implement this?

Setup a base project [REPLACEMENT ISSUE]

The original issue

Id: 14
Title: Setup a base project

could not be created.
This is a dummy issue, replacing the original one. It contains everything but the original issue description. In case the gitlab repository is still existing, visit the following link to show the original issue:

TODO

Search API Controller

In GitLab by @Brend-Smits on Mar 9, 2020, 21:44

Blocked, #33 should be finished before starting this.

  • Create the search controller based on #33
    Ensure that proper error handling is used and that the endpoints are following REST Standard as much as possible

Define interface for Search

In GitLab by @Brend-Smits on Mar 9, 2020, 21:42

Create an interface together with at least a single 'senior' developer that can be used to create the search controller, service and manager.

What architecture should be used?

In GitLab by @Brend-Smits on Mar 4, 2020, 20:36

  • What architecture should be used for the backend? #15
  • Should we make use of microservices, if so, how? #15
  • Will there be containerization? #16
  • How do we make sure that future additions to the platforms can be easily added and maintained? (Add a new platform like Github as a source for DeX to get data from)

What Tech-stack should be used? [REPLACEMENT ISSUE]

The original issue

Id: 26
Title: What Tech-stack should be used?

could not be created.
This is a dummy issue, replacing the original one. It contains everything but the original issue description. In case the gitlab repository is still existing, visit the following link to show the original issue:

TODO

How can we facilitate the infrastructure?

In GitLab by @Brend-Smits on Mar 4, 2020, 20:36

  • What hosting should be used? #16
  • How can we assure that it's easily maintainable for future groups?
  • How can we assure that governance can easily 'sell' the platform to internal IT from Fontys?
  • How can we easily scale the platform? #25
  • Set up a pipeline and release every sprint #18

Gitlab source manager

In GitLab by @Brend-Smits on Mar 9, 2020, 21:29

  • Based on the research #32, use the Gitlab API to retrieve the internal projects.
  • Handle authentication to the FHICT Gitlab server, use the token retrieved from this flow to call the API

When developing this source, we should also check with rate limits, scalability, and performance.

Setup Pipeline CI/CD

In GitLab by @Brend-Smits on Mar 4, 2020, 20:36

With DeX, the plan is to release every sprint. For this to work, we need to setup CI/CD from day one.
Using Gitlab CI/CD services we can easily do this. Deployment is taking place in Rancher for now.

Basic search functionality

In GitLab by @Brend-Smits on Mar 9, 2020, 22:35

Implement a basic search functionality so that we can search for projects and implement a search bar on the frontend.
Try to keep the feature expandable so we can easily replace or expand it in the future when implementing more complex search functionality/algorithms (#27)

Search Service

In GitLab by @Brend-Smits on Mar 9, 2020, 21:46

Blocked, #33 should be finished before starting this.

  • Create a search service based on #33
  • Define and create unit tests

What hosting can be used?

In GitLab by @Brend-Smits on Mar 4, 2020, 20:36

The first release will probably be deployed to the Rancher system from FHICT. However, this might not be the best long term solution. Scalability might become an issue, as well as the issue that it's owned by FHICT and that the clusters might be cleaned periodically
Look into other hosting solutions like:

  • Cloud hosting providers
  • VPS rental
  • Dedicated servers rental
  • Other solutions?

SURFContext OAuth [REPLACEMENT ISSUE]

The original issue

Id: 41
Title: SURFContext OAuth

could not be created.
This is a dummy issue, replacing the original one. It contains everything but the original issue description. In case the gitlab repository is still existing, visit the following link to show the original issue:

TODO

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.