GithubHelp home page GithubHelp logo

tomsheep19 / edm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yuchenglin/edm

0.0 2.0 0.0 11.2 MB

Python 41.70% Shell 0.23% Java 4.86% JavaScript 10.51% Swift 3.54% CSS 3.83% HTML 26.88% PHP 8.46%

edm's Introduction

EDMToolkit

Please remember to branch off and merge later, do not commit on master

Basic Structure

-authentication : Contains the authentication service that authorizes access to the REST API using a key associated with every user.

-code_templates : Contains the javascript templates for the Adapter, Method, Model and Server.

-database_manager : Creates the required database and collections in Mongo DB.

-generated_code : Contains the json file obtained after parsing the XML file and extracting necessary information. It also contains the js files generated from code_templates after the Submit button is clicked. These files are created at the following location -> generated_code/default/<domain_module_name>/.

-input : The input xml file gets stored here.

-static : Contains the scripts and CSS for the application. The JS folder contains the generated code.

-templates : This directory contains the Flask jinja templates.

-to_delete : This is a temporary directory to be deleted after complete testing. Unaccessed code is placed here.

-uml_parser : This is a parser module for the uploaded files.

-utilities :

  • port_scanner : Contains the port scanner utility that looks for ports available on a machine, given the port range as input.
  • exceptions : Custom excetions can be added here.
  • edm_utils : Contains general custom utilities for the project.
  • config_util : This is a config utility to read properties from config.properties. Usage:
      from utilities.config_util import ConfigUtil
      config = ConfigUtil()
      propertyVal = config.get(<section_name>, <property_name>)

Naming convention:

  • Please name all directories in small case. Seperate spaces with underscores. E.g. Generated code -> generated_code

  • Please name all files in small case. Seperate spaces with underscores. E.g. launchServer.sh -> launch_server.sh

  • Please name all classes in camel case. E.g. domain_model -> DomainModel

  • Please name all methods in camel case with the FIRST letter small. E.g. ParseSimpleXML() -> parseSimpleXML()

How to run:

  • Clone the repository
  • Navigate inside EDMToolkit
  • Before every execution, please run sh clean_pycs.sh on the root folder to clean all binaries
  • run the sh trigger_script.sh <name_of_python_file_to_run>. For example I run sh trigger_script.sh tester.py to run some tests on the code.
  • Make sure that all the code in directories have a __init.py__ file associated to make it an importable library.
  • Update the following in config.properties based on your machine:
    • host : Your hostname (Set to 127.0.0.1 for running on your local machine).
    • port : Port you want the application to run on.
    • display_ip : Your display IP (Set to 127.0.0.1 for running on your local machine).
    • server_ip : Your server IP(Set to 127.0.0.1 for running on your local machine or 0.0.0.0 for AWS instance).
    • from_port : Port number for port scanner to start with (E.g. 2000)
    • to_port : Port number for port scanner to end with (E.g. 6000)
  • The startup.py file represents the entry point of the application. Run this file as python startup.py

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.