{"id":16174971,"url":"https://github.com/app-generator/app-generator","last_synced_at":"2025-04-07T10:57:19.736Z","repository":{"id":239219391,"uuid":"798881004","full_name":"app-generator/app-generator","owner":"app-generator","description":"Free DevTools, DB Tools, CSV Processors, Apps, and Dashboards | App-Generator.dev","archived":false,"fork":false,"pushed_at":"2025-04-05T13:01:16.000Z","size":33689,"stargazers_count":67,"open_issues_count":25,"forks_count":26,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-05T18:13:16.945Z","etag":null,"topics":["ai-generator","app-generator","appseed","appseed-generator","appspeed","code-generator","csv-to-app","csv-to-model","django-generator","free-generator","generate-code","generator-api","generator-data","generator-datasets","generator-datatables","opensource-generator","python-generator","source-code-generator"],"latest_commit_sha":null,"homepage":"https://app-generator.dev","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/app-generator.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-10T17:06:57.000Z","updated_at":"2025-04-05T13:01:19.000Z","dependencies_parsed_at":"2024-05-27T21:51:23.311Z","dependency_job_id":"ff4ec5fd-38a0-45fc-880d-da5c22fd6cca","html_url":"https://github.com/app-generator/app-generator","commit_stats":null,"previous_names":["app-generator/appseed-v2","app-generator/app-generator"],"tags_count":91,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fapp-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fapp-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fapp-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fapp-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/app-generator","download_url":"https://codeload.github.com/app-generator/app-generator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247640512,"owners_count":20971555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-generator","app-generator","appseed","appseed-generator","appspeed","code-generator","csv-to-app","csv-to-model","django-generator","free-generator","generate-code","generator-api","generator-data","generator-datasets","generator-datatables","opensource-generator","python-generator","source-code-generator"],"created_at":"2024-10-10T04:43:52.297Z","updated_at":"2025-04-07T10:57:19.729Z","avatar_url":"https://github.com/app-generator.png","language":"CSS","readme":"# [Open-Source App Generator](https://app-generator.dev/)\n\n[Open-Source Tools](https://app-generator.dev/tools/django-generator) for solo-devs, students and companies - Generate [Digital Products](https://app-generator.dev/product/),\nUpdate legacy code by chat, Inject new modules, Software Auto-healing, AI, Deployment automation (any provider), Docker, K8s.\n\n- 👉 `LIVE Demo`: https://app-generator.dev        \n- 👉 Get [Support](https://app-generator.dev/ticket/create/) via email and `Discord`   \n\n\u003cbr /\u003e\n\n## Features \n\n- [One-Click Sign IN](https://app-generator.dev/users/signin/): `GitHub`\n- [Marketplace](https://app-generator.dev/product/): mirrored from [AppSeed](https://appseed.us)\n- Generator (CLI \u0026 Web Versions)\n  - MVC: Django, NodeJS, Flask, FastAPI\n  - Full-Stack: React, Vue with any API Backend\n  - API [ manage visually the data ]\n  - eCommerce\n  - Website\n- Deployment options: Render, AppSeed Cloud Digital Ocean, User Provider (AWS, DO, Azure)\n- [Developer Tools](https://app-generator.dev/docs/developer-tools.html)\n  - [Django App Generator](https://app-generator.dev/tools/django-generator)\n  - [CSV Processor](https://app-generator.dev/tools/csv-processor)\n  - [DataBase Migrator](https://app-generator.dev/tools/db-migrator)\n  - [DataBase Processor](https://app-generator.dev/tools/db-processor)\n  - [Dynamic Django](https://app-generator.dev/docs/developer-tools/dynamic-django/index.html) Tool (commercial)\n  - [CSV to DB Table](https://app-generator.dev/docs/developer-tools/csv-to-table.html)\n  - [CSV to API](https://app-generator.dev/docs/developer-tools/csv-to-api.html)\n  - [CSV to DataTable](https://app-generator.dev/docs/developer-tools/csv-to-datatable.html)\n- Sections:\n  - [Products](https://app-generator.dev/product/)\n  - [Blog](https://app-generator.dev/blog/)\n  - [Docs](https://app-generator.dev/docs/)\n  - [AI Agent](https://app-generator.dev/ai-processor/)\n  - `Tools/`\n  - `Deploy/`\n  - [Support](https://app-generator.dev/support/)\n  - [Custom Development](https://app-generator.dev/services/custom-development/)\n\n\u003cbr /\u003e\n\n## Stack\n\n- Python/Django\n- React\n- Docker\n- CI/CD - LIVE Deploy on Digital Ocean\n\n\u003cbr /\u003e\n\n## Manual Build\n\n\u003e Step #1 - Download the code\n\n```bash\n$ git clone https://github.com/app-generator/app-generator.git\n$ cd app-generator\n```\n\n\u003e Step #2 - Install modules\n\n```bash\n$ virtualenv env\n$ source env/bin/activate\n$ pip install -r requirements.txt\n```\n\n\u003e Step #3 - Set Up Database\n\n```bash\n$ python manage.py makemigrations\n$ python manage.py migrate\n```\n\n\u003e Step #4 - Create the ENV file\n\nThe `.env` can be created from the `env.sample` file, provided in the root of the project\n\n```bash\n$ cp env.sample .env\n```\n\n\u003e Step #5 - Compile UI (that uses Tailwind)\n\n```bash\n$ pnpm i\n$ pnpm run build\n```\n\n\u003e Step #5 - Execute `collectstatic` for Django statics\n\n```bash\n$ python manage.py collectstatic\n$ python manage.py migrate\n```\n\n\u003e Start the APP\n\n```bash\n$ python manage.py createsuperuser # create the admin\n$ python manage.py runserver       # start the project\n```\n\nAt this point, the app runs at `http://127.0.0.1:8000/`.\n\n\u003cbr /\u003e\n\n## Compile [Documentation](https://app-generator.dev/docs/index.html)\n\nThe Documentation being generated by [](https://www.sphinx-doc.org/en/master/), the compilation requires a linux box\n\n```bash\n$ cd docs \u0026\u0026 rm -rf build \u0026\u0026 make html\n# Or via a while loop\n$ cd docs ; while true ; do rm -rf build/ ; make html ; sleep 10 ; done\n```\n\nThe output is saved on `docs/build` and rendered on `/docs/` URI\n\n\u003cbr /\u003e\n\n## CLI Interface\n\nAll CLI tools are listed by `dev_tools` subcommand:\n\n`$ python manage.py dev_tools`\n\nBelow sections explains each dev_tool added to the codebase - If somethings is not working in your environment, please contact [support](https://appseed.us/support/).\n\n### Generate Code\n\n\u003e **Django Starters**\n\n```bash\n$ python manage.py tool_generator -f sources/input-django-template-soft.json # Generate a new Django Starter, Soft Design \n```\n\n\u003e **Flask Starters**\n\n```bash\n$ python manage.py tool_generator -f sources/input-flask-template-datta.json # Generate a new Flask Starter, Datta Able Design \n```\n\nThe generated code is saved in `generated_code` DIR. Open the sources using your favorite editor and start the project. \n\n\u003cbr /\u003e\n\n### Generate Project Template\n\n\u003e Using this tool, we can generate a JSON template used later by the generator\n\n```bash\n$ python manage.py tool_generator_interactive_django -i # Print HELP \n$ python manage.py tool_generator_interactive_django    # Generate JSON File  \n$ python manage.py tool_generator_interactive_flask     # Generate JSON File  \n...\n# (Truncated Output)\n$ python manage.py tool_generator_interactive_django\n\n[?] Project Friendly Name: Some Django project\n[?] The Backend Framework:                                                                                                               \n \u003e django\n   flask (soon)\n   nodejs (soon)\n\n[?] The UI Kit:                                                                                                                          \n \u003e datta\n   volt\n   soft-dashboard\n\n[?] The Database:                                                                                                                        \n \u003e sqlite\n   mysql\n   pgsql\n...\n# (Truncated Output)\n...\n\u003e File saved = sources\\Nt5QWHGI_django_template.json\n\u003e HOW to generate code:\n    |-- python manage.py tool_generator -f sources/Nt5QWHGI_django_template.json   \n```\n\nBy running the sugegsted command, we should be able to generate a valid Django Project.\n\n\u003cbr /\u003e\n\n### Upload to GitHub\n\n\u003e Note: For having SUCCESS on this operation, a `GITHUB_KEY` is required in `.env` - read [more](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).\n\n```bash\n$ python manage.py tool_github_uploader -i # Print HELP \n$ python manage.py tool_github_uploader -d generated_code/GENERATED_PROJECT -k GITHUB_KEY \n```\n\nOnce the operation is finished, the generated project should be saved under the account associated with the `GITHUB_KEY`.\n\n\u003cbr /\u003e\n\n### Inspect DB (sqlite, MySql, PgSql)\n\n```bash\n# SQLite scan \n$ python manage.py tool_db_processor -f media/tools/db_inspect/db_sqlite.json\n# OR\n# MySql scan\n$ python manage.py tool_db_processor -f media/tools/db_inspect/db_mysql.json\n...\n# (Truncated Output)\n\u003e Processing media/tools/db_inspect/db_sqlite.json\n    |-- type      : db\n    |-- DB driver : SQLITE\n    |-- DB name   : media/tools/common/sample.sqlite3\n    |-- DB host   : None\n    |-- DB port   : None\n    |-- DB user   : None\n    |-- DB pass   : None\n\n \u003e Dump data for [api_user_user]\n \u003e Dump data for [api_authentication_activesession]\n \u003e Dump data for [auth_group]\n \u003e Dump data for [api_user_user_groups]\n \u003e Dump data for [django_content_type]\n \u003e Dump data for [auth_permission]\n \u003e Dump data for [api_user_user_user_permissions]\n \u003e Dump data for [auth_group_permissions]\n \u003e Dump data for [django_admin_log]\n \u003e Dump data for [django_migrations]\n \u003e Dump data for [django_session]\n```\n\nThe SQL dump is done in the `tmp` DIRECTORY\n\n```bash\nROOT\n  |-- tmp\n      |-- 05_27_58_SQLITE.sql\n      |-- 05_28_04_SQLITE_api_user_user \n```\n\n\u003cbr /\u003e\n\n### Migrate DB\n\n\u003e Note: the feature works with SQLite, MySql and PostgreSQL.\n\nThe source and target DB credentials should be provided in JSON format. Here are the provided samples\n\n- [SQLite Sample](https://github.com/app-generator/app-generator/blob/main/media/tools/db_migrator/db_source_sqlite.json)\n- [MySql Sample](https://github.com/app-generator/app-generator/blob/main/media/tools/db_migrator/db_dest.json)\n\n\u003e How to use it:\n\n```bash\n$ python manage.py tool_db_migrator -s DB_SOURCE.json -t DB_TARGET.json           # Perform Checks\n$ python manage.py tool_db_migrator -s DB_SOURCE.json -t DB_TARGET.json --migrate # Migrate the data \n```\n\n\u003cbr /\u003e\n\n### CSV processor\n\nAuthenticated users can process CSV files and apply transformers.\n\n\u003e DEMO: https://app-generator.dev/tools/csv-processor/\n\n\u003cbr /\u003e\n\n### Inspect CSV Files\n\n```bash\n$ python manage.py tool_inspect_source -f media/tools/csv/csv_inspect.json    # Truncated output\n$ python manage.py tool_inspect_source -f media/tools/csv/csv_inspect.json -k # Print all rows \n# OR for distant CSV files\n$ python manage.py tool_inspect_source -f media/tools/csv/csv_inspect_distant.json\n...\n# (Truncated Output)\n \u003e Processing media/tools/csv/csv_inspect.json\n       |-- file: media/tools/csv/titanic.csv\n       |-- type: csv\n{'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'}}\n[1] - PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked\n[2] - 1,0,3,\"Braund, Mr. Owen Harris\",male,22,1,0,A/5 21171,7.25,,S\n[3] - 2,1,1,\"Cumings, Mrs. John Bradley (Florence Briggs Thayer)\",female,38,1,0,PC 17599,71.2833,C85,C\n[4] - 3,1,3,\"Heikkinen, Miss. Laina\",female,26,0,0,STON/O2. 3101282,7.925,,S\n[5] - 4,1,1,\"Futrelle, Mrs. Jacques Heath (Lily May Peel)\",female,35,1,0,113803,53.1,C123,S\n[6] - 5,0,3,\"Allen, Mr. William Henry\",male,35,0,0,373450,8.05,,S\n[7] - 6,0,3,\"Moran, Mr. James\",male,,0,0,330877,8.4583,,Q\n[8] - 7,0,1,\"McCarthy, Mr. Timothy J\",male,54,0,0,17463,51.8625,E46,S\n[9] - 8,0,3,\"Palsson, Master. Gosta Leonard\",male,2,3,1,349909,21.075,,S\n[10] - 9,1,3,\"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)\",female,27,0,2,347742,11.1333,,S\n...\n```\n\n\u003cbr /\u003e\n\n### List available commands\n\n```bash\n$ python manage.py help \n# (Truncated Output)\nType 'manage.py help \u003csubcommand\u003e' for help on a specific subcommand.\nAvailable subcommands:\n...\n[cli]\n    help_print_apps\n    help_print_cfg\n    help_print_models\n...\n```\n\n\u003cbr /\u003e\n\n### List Registered Apps\n\n```bash\n$ python manage.py help_print_apps\n# (Truncated Output)\n APP -\u003e Webpack Loader\n APP -\u003e Administration\n APP -\u003e Authentication and Authorization\n ...\n```\n\n\u003cbr /\u003e\n\n### List Registered Models\n\n```bash\n$ python manage.py help_print_models\n# (Truncated Output)\nAPP -\u003e Github\nAPP -\u003e Google\nAPP -\u003e Django_Quill\nAPP -\u003e Celery Results\n        |--\u003e django_celery_results.models.TaskResult\n          |--\u003e id: AutoField\n          |--\u003e task_id: CharField\n          |--\u003e periodic_task_name: CharField\n          |--\u003e task_name: CharField\n          |--\u003e task_args: TextField\n          |--\u003e task_kwargs: TextField\n          |--\u003e status: CharField\n          |--\u003e worker: CharField\n          |--\u003e content_type: CharField\n          |--\u003e content_encoding: CharField\n          |--\u003e result: TextField\n          |--\u003e date_created: DateTimeField\n          |--\u003e date_done: DateTimeField\n          |--\u003e traceback: TextField\n          |--\u003e meta: TextField\n        |--\u003e django_celery_results.models.ChordCounter\n          |--\u003e id: AutoField\n          |--\u003e group_id: CharField\n          |--\u003e sub_tasks: TextField\n          |--\u003e count: PositiveIntegerField\n        |--\u003e django_celery_results.models.GroupResult\n          |--\u003e id: AutoField\n          |--\u003e group_id: CharField\n          |--\u003e date_created: DateTimeField\n          |--\u003e date_done: DateTimeField\n          |--\u003e content_type: CharField\n          |--\u003e content_encoding: CharField\n          |--\u003e result: TextField\n```\n\n\u003cbr /\u003e\n\n## Celery (async tasks)\n\n- Make sure you have a Redis Server running: `redis://localhost:6379`\n  - `$ redis-cli` and type `ping`\n- In the base directory inside `tasks_scripts` folder you need to write your scripts file.\n- Run the celery command from the CLI.\n\n```bash\n$ export DJANGO_SETTINGS_MODULE=\"core.settings\"  \n$ celery -A core worker -l info -B\n```\n\n\u003e Executed Tasks, [tasks_scripts](https://github.com/app-generator/appseed-v2/tree/main/tasks_scripts) DIR as defined in the [EXEC Schedule](https://github.com/app-generator/appseed-v2/blob/main/core/celery.py)\n\n- [Critical Tasks](https://github.com/app-generator/appseed-v2/blob/main/tasks_scripts/critical/critical_task.py) - executed every 5min\n- [Hourly Tasks](https://github.com/app-generator/appseed-v2/blob/main/tasks_scripts/hourly/hourly_task.py)\n- [Daily Tasks](https://github.com/app-generator/appseed-v2/blob/main/tasks_scripts/daily/daily_task.py)\n- [Weekly Tasks](https://github.com/app-generator/appseed-v2/blob/main/tasks_scripts/weekly/weekly_task.py)\n- [Monthly Tasks](https://github.com/app-generator/appseed-v2/blob/main/tasks_scripts/monthly/monthly_task.py)\n\nThe output for each task can be found in the [LOGS](https://github.com/app-generator/appseed-v2/tree/main/tasks_scripts/logs) Directory.\n\nHere is a LOG sample generated by a critical task that runs at every 5min:\n\n- [tasks_scripts/logs/2024-05-20-16-30-critical_task.log](https://github.com/app-generator/appseed-v2/blob/main/tasks_scripts/logs/2024-05-20-16-30-critical_task.log)\n\n\u003cbr /\u003e\n\n## Team\n\n\u003e **Core**\n\n- [Adrian](https://github.com/Sm0keDev) - Founder, Tech Lead, Automation, Design Patterns\n- [Alex Paduraru](https://github.com/alexandru-paduraru) - Business Advisor \u0026 Investor\n- [Valentin Raduti](https://github.com/deroude) - Full-Stack Senior (Design Patterns, Auth, Automation, React)\n- [Teo Deleanu](https://github.com/tdeleanu) - Full-Stack Senior\n\n\u003e **Developers/Contractors**\n\n- [Mominur](https://github.com/mominur-helios) - Django/React Developer\n- [Hasib](https://github.com/hasib-helios) - Django/React Developer\n- [Sugeng](https://github.com/sgnd) - CI/CD, Deployment, Docker\n- [Nur Askiah](https://github.com/nuraskiah) - Django/React Developer\n- [Dhafit](https://github.com/dhafitf) - UI/UX, Frontend\n- [Anamul](https://github.com/MySecondLanguage) - Python, Django TL\n\n\u003cbr /\u003e\n\n## LICENSE\n\n[@EULA](./LICENSE.md)\n\n\u003cbr /\u003e\n\n---\n\nCrafted and actively supported by [AppSeed](https://appseed.us/) - *\u003csupport@appseed.us\u003e*\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapp-generator%2Fapp-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapp-generator%2Fapp-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapp-generator%2Fapp-generator/lists"}