Skip to content
View app-generator's full-sized avatar
🎯
Focusing
🎯
Focusing

Highlights

  • Pro

Block or report app-generator

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
app-generator/README.md

The New version of AppSeed - Generate Digital Products, Update legacy code by chat, Inject new modules, Software Auto-healing, AI, Deployment automation (any provider), Docker, K8s.

👉 LIVE Demo: https://app-generator.dev


Features

  • One-Click Sign IN: GitHub
  • Marketplace: mirrored from AppSeed
  • Generator (CLI & Web Versions)
    • MVC: Django, NodeJS, Flask, FastAPI
    • Full-Stack: React, Vue with any API Backend
    • API [ manage visually the data ]
    • eCommerce
    • Website
  • Deployment options: Render, AppSeed Cloud Digital Ocean, User Provider (AWS, DO, Azure)
  • Developer Tools
    • AI introspection to different data sources
    • CSV processing and data extraction
    • CSV to model
  • Sections:

SPECS


For more input please contact support using the following:


Stack

  • Python/Django
  • React
  • Docker
  • CI/CD - LIVE Deploy on Digital Ocean

Manual Build

Download the code

$ git clone https://github.com/app-generator/app-generator.git
$ cd app-generator

Install modules via VENV

$ virtualenv env
$ source env/bin/activate
$ pip install -r requirements.txt

Set Up Database

$ python manage.py makemigrations
$ python manage.py migrate

Start the APP

$ python manage.py createsuperuser # create the admin
$ python manage.py runserver       # start the project
$ python manage.py runsslserver    # SSL Mode [ https://localhost:8000 ]

At this point, the app runs at http://127.0.0.1:8000/.


CLI Interface

All CLI tools are listed by dev_tools subcommand:

$ python manage.py dev_tools

Below sections explains each dev_tool added to the codebase - If somethings is not working in your environment, please contact support.

Generate Code

For now, only Django code is supported.

$ python manage.py tool_generator -i # Print HELP 
$ python manage.py tool_generator -f sources/input-template-volt.json

The generated code is saved in generated_code DIR. Open the sources using your favorite editor and start the project. The easier way is to use Docker:


Generate Project Template

Using this tool, we can generate a JSON template used later by the generator

$ python manage.py tool_generator_interactive -i # Print HELP 
$ python manage.py tool_generator_interactive    # Generate JSON File  
...
# (Truncated Output)
$ python manage.py tool_generator_interactive

[?] Project Friendly Name: Some Django project
[?] The Backend Framework:                                                                                                                 
 > django
   flask (soon)
   nodejs (soon)

[?] The UI Kit:                                                                                                                            
 > datta
   volt
   soft-dashboard

[?] The Database:                                                                                                                          
 > sqlite
   mysql
   pgsql
...
# (Truncated Output)
...
> File saved = sources\Nt5QWHGI_django_template.json
> HOW to generate code:
    |-- python manage.py tool_generator -f sources/Nt5QWHGI_django_template.json   

By running the sugegsted command, we should be able to generate a valid Django Project.


Upload to GitHub

Note: For having SUCCESS on this operation, a GITHUB_KEY is required - read more.

$ python manage.py tool_github_uploader -i # Print HELP 
$ python manage.py tool_github_uploader -d generated_code/GENERATED_PROJECT -k GITHUB_KEY 

Once the operation is finished, the generated project should be saved under the account associated with the GITHUB_KEY.


Inspect DB (sqlite, MySql, PgSql)

# SQLite scan 
$ python manage.py tool_db_processor -f media/tool_inspect/db_inspect_sqlite.json
# OR
# MySql scan
$ python manage.py tool_db_processor -f media/tool_inspect/db_inspect_mysql.json
...
# (Truncated Output)
> Processing media/tool_inspect/db_inspect_sqlite.json
    |-- type      : db
    |-- DB driver : SQLITE
    |-- DB name   : media/tool_inspect/api-django.sqlite3
    |-- DB host   : None
    |-- DB port   : None
    |-- DB user   : None
    |-- DB pass   : None

 > Dump data for [api_user_user]
 > Dump data for [api_authentication_activesession]
 > Dump data for [auth_group]
 > Dump data for [api_user_user_groups]
 > Dump data for [django_content_type]
 > Dump data for [auth_permission]
 > Dump data for [api_user_user_user_permissions]
 > Dump data for [auth_group_permissions]
 > Dump data for [django_admin_log]
 > Dump data for [django_migrations]
 > Dump data for [django_session]

The SQL dump is done in the tmp DIRECTORY

ROOT
  |-- tmp
      |-- 05_27_58_SQLITE.sql
      |-- 05_28_04_SQLITE_api_user_user 

Inspect CSV Files

$ python manage.py tool_inspect_source -f media/tool_inspect/csv_inspect.json    # Truncated output
$ python manage.py tool_inspect_source -f media/tool_inspect/csv_inspect.json -k # Print all rows 
# OR for distant CSV files
$ python manage.py tool_inspect_source -f media/tool_inspect/csv_inspect_distant.json
...
# (Truncated Output)
 > Processing .\media\tool_inspect\csv_inspect.json
       |-- file: media/tool_inspect/csv_titanic.csv
       |-- type: csv
{'PassengerId': {'type': 'int64'}, 'Survived': {'type': 'int64'}, 'Pclass': {'type': 'int64'}, 'Name': {'type': 'object'}, 'Sex': {'type': 'object'}, 'Age': {'type': 'float64'}, 'SibSp': {'type': 'int64'}, 'Parch': {'type': 'int64'}, 'Ticket': {'type': 'object'}, 'Fare': {'type': 'float64'}, 'Cabin': {'type': 'object'}, 'Embarked': {'type': 'object'}}
[1] - PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked
[2] - 1,0,3,"Braund, Mr. Owen Harris",male,22,1,0,A/5 21171,7.25,,S
[3] - 2,1,1,"Cumings, Mrs. John Bradley (Florence Briggs Thayer)",female,38,1,0,PC 17599,71.2833,C85,C
[4] - 3,1,3,"Heikkinen, Miss. Laina",female,26,0,0,STON/O2. 3101282,7.925,,S
[5] - 4,1,1,"Futrelle, Mrs. Jacques Heath (Lily May Peel)",female,35,1,0,113803,53.1,C123,S
[6] - 5,0,3,"Allen, Mr. William Henry",male,35,0,0,373450,8.05,,S
[7] - 6,0,3,"Moran, Mr. James",male,,0,0,330877,8.4583,,Q
[8] - 7,0,1,"McCarthy, Mr. Timothy J",male,54,0,0,17463,51.8625,E46,S
[9] - 8,0,3,"Palsson, Master. Gosta Leonard",male,2,3,1,349909,21.075,,S
[10] - 9,1,3,"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)",female,27,0,2,347742,11.1333,,S
...

List available commands

$ python manage.py help 
# (Truncated Output)
Type 'manage.py help <subcommand>' for help on a specific subcommand.
Available subcommands:
...
[cli]
    help_print_apps
    help_print_cfg
    help_print_models
...

List Registered Apps

$ python manage.py help_print_apps
# (Truncated Output)
 APP -> Webpack Loader
 APP -> Administration
 APP -> Authentication and Authorization
 ...

List Registered Models

$ python manage.py help_print_models
# (Truncated Output)
APP -> Github
APP -> Google
APP -> Django_Quill
APP -> Celery Results
        |--> django_celery_results.models.TaskResult
          |--> id: AutoField
          |--> task_id: CharField
          |--> periodic_task_name: CharField
          |--> task_name: CharField
          |--> task_args: TextField
          |--> task_kwargs: TextField
          |--> status: CharField
          |--> worker: CharField
          |--> content_type: CharField
          |--> content_encoding: CharField
          |--> result: TextField
          |--> date_created: DateTimeField
          |--> date_done: DateTimeField
          |--> traceback: TextField
          |--> meta: TextField
        |--> django_celery_results.models.ChordCounter
          |--> id: AutoField
          |--> group_id: CharField
          |--> sub_tasks: TextField
          |--> count: PositiveIntegerField
        |--> django_celery_results.models.GroupResult
          |--> id: AutoField
          |--> group_id: CharField
          |--> date_created: DateTimeField
          |--> date_done: DateTimeField
          |--> content_type: CharField
          |--> content_encoding: CharField
          |--> result: TextField

The Documentation being generated by , the compilation requires a linux box

$ cd docs && rm -rf build && make html
# Or via a while loop
$ cd docs ; while true ; do rm -rf build/ ; make html ; sleep 10 ; done

The output is saved on docs/build and rendered on /docs/ URI


Celery (async tasks)

  • Make sure you have a Redis Server running: redis://localhost:6379
    • $ redis-cli and type ping
  • In the base directory inside tasks_scripts folder you need to write your scripts file.
  • Run the celery command from the CLI.
$ export DJANGO_SETTINGS_MODULE="core.settings"  
$ celery -A core worker -l info -B

Executed Tasks, tasks_scripts DIR as defined in the EXEC Schedule

The output for each task can be found in the LOGS Directory.

Here is a LOG sample generated by a critical task that runs at every 5min:


Team

Core

Developers/Contractors


LICENSE

@EULA



Crafted and released under the AppSeed brand by Sm0ke

Pinned Loading

  1. intro intro Public

    App Generator - Deliver your projects faster | AppSeed

    53 14

  2. admin-dashboards admin-dashboards Public

    Admin Dashboards - Open-Source and Free | AppSeed

    386 45

  3. django-dashboards django-dashboards Public template

    Django Dashboards - Admin Panels coded in Django | AppSeed

    344 58

  4. docs docs Public

    App Generator - The Official Documentation | AppSeed

    JavaScript 1 1