Coder Social home page Coder Social logo

farhan0167 / github-manager Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 15.73 MB

An application that streamlines the SDLC on Github by organizing all your projects in one place and abstracting away git commands

License: MIT License

Python 32.84% HTML 8.37% CSS 4.44% JavaScript 54.35%

github-manager's Introduction

github-manager

Problem Statement:

As a developer, managing multiple projects across different directories can be time-consuming and tedious. Additionally, writing out git commands to push code can be error-prone and distract from the actual coding process. These inefficiencies can slow down the development process and hinder productivity.

To address these issues, I have developed a file manager application that streamlines the application development procedure on Github. This application provides a centralized location to organize all of your projects and offers the ability to launch code editors and terminals with just a few clicks. This allows developers to easily navigate and work on their projects without the hassle of searching through multiple directories.

Furthermore, this app abstracts away writing git commands by providing a simple and intuitive interface for pushing code. With just a single click, developers can push their code to Github without worrying about the specifics of the command-line interface. This application aims to enhance productivity and streamline the development process for developers of all levels.

Getting Started:

This is currently a work in progress. The current version can be thought of as a file manager application. In order to run the repository to see current progress, follow the steps:

  1. Clone this repo:
    git clone https://github.com/farhan0167/github-manager.git
  2. Go inside the root folder(git-manager):
    cd backend/
  3. Install virtual env:
    python3 -m venv venv
    Make sure you install venv in the backend folder
  4. Activate the venv:
    source venv/bin/activate
  5. Install all the dependencies:
    pip install -r requirements.txt
  6. Run the following to start the Flask server:
    python3 app.py
  7. Open another terminal window at root, and navigate to /my-app and run:
    npm install
  8. And then start the react app:
    npm start

Demo:

Clone a Repo

clone

Launch VS Code

clone

Note: Make sure to have VS Code configured to launch using terminal command. Refer here.

Push Changes

clone

Technical Details

The Flask application initializes two Objects- The File Manager and Github object.

  1. File Manager: The file manager class keeps track of the root and current directory. Users can:

    1. See the files of the current directory
    2. Navigate within directories
    3. Launch terminal windows, VS Code and finder windows These are made possible by leveraging the OS module provided by python.
  2. Github Manager: The github class handles all github related functions:

    1. Creating a git repository
    2. Cloning a git repository
    3. Pushing changes to a remote git repository

Notes

  1. I also developed a Java version of this application that can be found here.
  2. Considering the following future directions:
    1. Enable users to create a full-stack application. There are Getting Started for React, Flask and many other applications but there are no Getting Started for a full stack application. The objective will be to add a button that creates a react project and flask project.
    2. Enable users to deploy their projects on to the Internet

github-manager's People

Contributors

farhan0167 avatar

Watchers

 avatar  avatar

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.