Yuri-SVB / Great_Wall

Protocol and application for providing Kerckhoffian, 0-trust, deviceless coercion-resistance in self-custody.
MIT License
24 stars 14 forks source link

Restructure the project #87

Open MuhammadMuradG opened 6 months ago

MuhammadMuradG commented 6 months ago

What is the problem or limitation you are having? Since we are planning in the future to provide support for different platforms (desktop, android and iOS), I think the current project structure doesn't help us much with that. I thought this is the best time to think about the current folders structure that maybe we can improve it to provide ourselves with a base to support different platforms.

Describe the solution you'd like Here's is my thoughts of how I see the new structure: I'm thinking about creating a GitHub organization called T3InfoSecurity, like beeware organization (take a look please), with following repos:

  1. The GreatWall-Protocol repo: This repository represents an implementation and testing of the tacit-knowledge-authentication-protocol (greatwall) and does not include the user interface. This repo has the following structure: Great-Wall │ demos/ │ docs/ │ src/ │ │ greatwall/ │ │ │ helpers/ (folder that contains all helper modules link colormaps and etc) │ │ │ palettes/ (folder that contains all tacit knowledge type that we will support) │ │ │ _init_.py │ │ └ greatwall.py (module that implement TKBA protocol) │ │ tests/ (folder that contains the tests of the protocol) │ │ │ _init_.py │ │ └ .... │ LICENSE └ README.md

  2. GreatWall-Desktop repo: This repository represents an implementation of the GUI interface on the Desktop. this repo will contains current implementation of the gui but with a simplified structure like that: GreatWall-Desktop │ resources/ (contains any thing that we will need in the application like icons, constants and greatwall-protocol module) │ app.py (contains the current implementation of the gui.py file. │ tests/ (contains the tests of the gui) │ LICENSE │ README.md └ requirements.txt

  3. GreatWall-Android repo: ...

  4. GreatWall-Apple repo: ...