GithubHelp home page GithubHelp logo

wpfexplorer's Introduction

WpfExplorer

Bitte niemals direkt pushen! Bitte arbeitet mit Pull Requests

Pull Requests werden von allen reviewed und anschließend gemerged. Bei Schwierigkeiten oder Problemen bitte den Request kommentieren

Um Issues zu schließen, bitte in der Commit Message "Closes #|IssueNummer|, Closes#|IssueNummer|" eintragen, damit werden die Issues automatisch geschlossen

wpfexplorer's People

Contributors

bomberuhd avatar thefirste007 avatar venroot avatar

Watchers

 avatar

wpfexplorer's Issues

Dateisuche-Klasse funktioniert nicht richtig

Die Dateisuche sollte in einem neuen Thread erfolgen, um während der Suche die GUI nicht zu blockieren.

Issue: Der neue Thread darf nicht auf Elemente vom anderen Thread (MainWindow) zugreifen.

Ignoriere Dateien und Typen

Dateiendungen können von der Indizierung ignoriert werden.

Ähnlich wie gitignore.

Dateinamen können direkt eingegeben werden, mit der Wildcard * oder ganz ODER es können ganze Dateiendungen wie z.b. txt, cache, json ignoriert werden

  • GUI
  • Methode, welche den Inhalt in einer string Liste zurückgibt
  • Bei der Indizierung wird die Methode aufgerufen und anhand der Liste werden die Dateien ignoriert

Dateisystem richtig einbinden

Das Dateisystem aufbauend auf #5 sollte folgende Funktionen ermöglichen:

  • Dateien rekursiv oder nicht rekursiv zurückgeben
  • Dateien in einem Ordner zählen

DB Connection

DB Connection entwickeln.

Ziel:

  • Methode mit String als Parameter.
  • Bei einem Fehler wird eine Ausnahme geworfen, welche Abgefangen, verarbeitet und zum User gecastet wird

Requirements:

  • Verbindung kann hergestellt werden
  • Methode gibt die erwarteten Werte zurück

Security Requirements:

  • Prepared Statements. Eine SQL Injection sollte nicht möglich sein
  • In der Methode wird die Verbindung aufgebaut und geschlossen.

File Extension in die Registry packen

.wpfex
.enc.wpfex

sind die Dateinamenerweiterungen für die exportierte Datenbank.
Mit einem Registry Key kann man einen Wert setzen, womit Windows automatisch die Datei mit dem WpfExplorer öffnet

Lokaler Cache

Datenbank soll alle paar Minuten mit einer lokalen DB (JSON) synchronisiert werden.

  • Daten werden lokal gespeichert
  • Jeder User kriegt einen Eintrag in der CDB
  • Sync wird jede Minute ausgeführt, falls OnChange
  • TimeStamp

Hibernate-Templates entfernen

Hibernate Testdateien und Beispiele verwenden viel Speicher, werden von git als Projektdateien erkannt und gehören nicht ins Projekt

Neuer Branch "Test" wird genutzt, um zu prüfen, ob sich die Dateien entfernen lassen

View erneuern

Die aktuelle View ist sehr messy und unübersichtlich.

Wir brauchen mehr Grids und sollten wirklich alles darin organisieren.

image

Hier ist ein Konzept aus dem OneNote, wie ich mir die View gerne vorstelle.

@BomberUHD @siirprime, Meinung?

MainWindow.xaml.cs sollte zu MainWindowViewModel.cs migriert werden

Unser Projekt ist komisch struktoriert.
Wir sollten MainWindow.xaml.cs zu MainWindowViewModel.cs migrieren um nachher die MainWindow.xaml.cs entfernen / leeren zu können.

Dies gibt uns eine bessere Übersicht auf unsere Funktionen und entpricht auch mehr dem MVVM Model.

Bugfixes

Für kleine Bugfixes bitte referenzieren und den Bugfixes-Branch nutzen

Eine vollständige Sicherung durchnehmen

Für den Proof of Concept sollten wir einmal eine vollständige Sicherrung durchnehmen.

Von Festlegung was synchronisiert werden soll bis zur Sichtbarkeit der Daten in der Datenbank.

MySQL Injections

Prepared Statements nutzen, um Injections und Bugs entgegenzuwirken

Implementierung von User Optionen

In der Window sollte es Tickboxen geben, welche beim Anklick Variablen ändern.
Z.B. ob rekursiv gesucht werden sollte. Unten im Eck sollte es einen "Schließen" Button geben

@VenRoot Bitte die Variablen genauer spezifizieren

checkConfig Templates

In der Methode fs.checkConfig() werden die Dateien zwar angelegt, aber nicht beschrieben.

Stable Ping for DB Connection

  • bool Ping Function which returns if a connection can be established

  • int Ping Function which returns the PingTime

  • Event Handler which executes the Ping at Startup

Git Commits fixen

  • Anzahl der Commits reduzieren da die meisten doppelt / viermal existieren.
  • Dem Issue #19 die richtigen Commits zuweisen damit diese Änderung nachvollziehbar ist.
  • Ändern der Issues mit nicht beschreibender Commit Message.

Codecleaning

Hier referenzieren für Codecleaning,

  • Im ViewModel sollten nur die Bindings sein, bitte die Logik in ein eigenes Model stecken

Model in eigenen Model Verzeichnis umziehen

Unser Model existiert zwar ist aber in verschiedenen Dateien aufgeteilt.

Um dem MVVM Standard gerecht zu werden sollten wir alle Models in einen Ordner / Datei umziehen.

Datenbank Server erstellen

Auf meinem Server ryukyun.de kann ich einen PostgreSQL Server erstellen. Muss erst schauen wie gut das funktioniert

  • Server ist installiert
  • Server ist erreichbar
  • User wurden angelegt
  • Userberechtigungen wurden angepasst
  • Datenstruktur steht

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.