Code Monkey home page Code Monkey logo

dconsole's Introduction

Hi there, I'm Rajagaopalan ๐Ÿ‘‹

  • ๐Ÿ”ญ Iโ€™m currently working on Mostly on C++ sometimes JavaScript
  • ๐ŸŒฑ Iโ€™m currently learning everything I can
  • ๐Ÿ‘ฏ Iโ€™m looking to collaborate on JSOS
  • ๐Ÿ’ฌ Ask me about here
  • ๐Ÿ“ซ How to reach me: fire up a mail to [email protected]

Rajagopalan

Rajagopalan stats

Rajagopalan Top Langs

Rajagopalan Rajagopalan Rajagopalan Rajagopalan Rajagopalan Rajagopalan Rajagopalan Rajagopalan

dconsole's People

Contributors

rajagopalan-gangadharan avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

dconsole's Issues

UI

The UI I have in mind is a simple window that works along with Core(The backend that does the piping work) user should be able to create tabs and color code from separate streams. UI can be implemented with cross platform UI frameworks like Qt and/or using specific C/C++ API for respective platforms.

Sub tasks ( Windows/Linux gtk)

  • Window Creation (Intermediate:10)

  • Window widgets(Tab structure, Menu bar) (Intermediate:10)

  • Application launch menu ( browse path of executable and run with flags ) (Intermediate:10)

  • Stdout reciever (per app basis) (Difficult:15)

  • Stderr reciever (per app basis) (Difficult:15)

  • Color code message (Beginner:5)

image

Proof of concept

Add simple tests

Write small test cases with the QtTest framework, by using dummy applications for interfacing.

Move everything from unix to linux

The code was written in the assumption that unix codebase will be common to both mac and linux, But it proved to be difficult than expected. Hence move all the files from unix directory to linux directory. Verify that it compiles by making appropriate changes in CMakeLists.txt

Add Issue template

The project does not have an issue template to raise new issues in a format.

Fix UI MacOS

The UI is written with Qt C++, Investigate why the UI bugs out specifically in MacOS.

Add CONTRIBUTING.md

Add CONTRIBUTING.md File

As this project is a part of an Open Source Program NJACK Winter of Code I would recommend to have a contribution guidelines file (CONTRIBUTING.md) to assist beginners to get started with open source contribution.

Points to be covered in the guideline :

  • How to pull your first request.
  • How to create issue.
  • Some general rules to keep in mind while contributing to an open source project.
  • Links of some tutorials which will help beginners to learn the basics of git and github.

Readme Updation and Code of Conduct

Currently, the readme is not having a getting started guide so a beginner will find it difficult to contribute to the project.
Also, I wish to add badges which will keep real-time track of pull request opened, closed, issues open and closed so it will use for you to manage
So can I go for it @RAJAGOPALAN-GANGADHARAN

Also The project is currently missing the Code of Conduct file which is important for open source project
So can I go for it

Add search option

Add a global search bar and display all found results in a separate window.

Add banner of crosswoc to the readme file

I will add banner of crosswoc to the readme file so that, People will know it is associated to crosswoc.
Moreover, I will associate link of the crosswoc website to its banner such that, if someone clicks the banner on readme file, it will redirect them to the website of crosswoc.

Add issue template

Can I make issue templates to enhance the workflow of the repository?

Replace select with poll

Select method is used to look for incoming messages and connections, this is old and not safe - instead switch it to using modern API's like poll()

Java Interface

To receive messages from applications running on java an interface must be written ( refer Interface/cpp and Interface/python to see what is required).

Create Installer

Each of these is a separate sub task:

  1. bat/setup to install DConsole and options(Yes/No) to install specific interfaces. For. e.g. if user chooses python only then install python interface only, ignoring the cpp interface.

  2. sh script for mac and unix ( Can be done separately as well) - something similar to windows automated install script. This should make the DConsole executable added to the global binary path and install required headers for interfaces according to user choice.

Use MachPorts or better IPC specific for MacOS

Currently macOS port shares with the unix port(UNIX sockets) which has lot of compatibility issues, hence find an appropriate IPC and implement. Adding idea will also be appreciated.

Core functionality

The main objective of this module is to pipe outputs from stderr and stdout into the app, while this is fairly easy in linux, windows needs a long hack.

So the objective is to create a core functionality that will pipe the streams outputs separately at a binary level (Not language level i.e. no code injection or replacing streams). The UI part is a separate module.

Subtasks

Windows

  • Find a way to pipe stderr and stdout in realtime ( Try using screen buffer rather than pipes ) (Difficult:15)

Linux

  • Launch application with flags that redirect data to sockets (Difficult:15)

Common

  • Same format that will be handled in UI part for displaying (Intermediate:10)

  • Signals and support/Callback functions (Intermediate:10)

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.