A Full Featured CRUD Web App Created Entirely By Chatgpt4o

Using Python for the full stack:  Brython, Flask, and Sqlalchemy 

A demo is available at:

http://server.py-thon.com:5001

To run the app, install Python on your computer.  Then, to install required Python libraries, enter the following in the command line console (for Windows, get the command line by running 'CMD', and be sure to execute this line in the contact_app folder (cd contact_app)):

pip install -r requirements.txt

Next, edit config.py to save your email settings (your smpt domain, username, password, port, etc.).  Alternately, the SMTP email address and password can be saved in environment variables, by entering the following at the command line (the email/password in config.py be used unless the environment variables are specifically set):

set EMAIL_USER=your_email@example.com
set EMAIL_PASS=your_email_password

Edit the two places in routes.py where the URL 'http://localhost:5001' is embedded, and change them to the URL and port where you're running the app (if different than http://localhost:5001)

Start the app by typing this in the console:

python run.py

Go to this URL in your browser to use the application:

http://127.0.0.1:5001

or if running on a publicly available server:

http://yourserverdomain:5001  or http://yourserveripaddress:5001

There are some validated users with contacts already saved in the demo database:

joe@guitarz.org
bob@guitarz.org
tom@guitarz.org
pete@guitarz.org

The password for all demo users is:

7u8i-9o0P


Description:

This is a fully functional CRUD app, created in 1 morning ENTIRELY by prompting chatGPT4o.  The application features include:

1) A complete authorization system with validated email signup and automated forgotten password handling
2) A UI navigation system with collapsible left hamburger menus which show-hide responsively, according to screen size
3) An account management page which enables users to edit their own first name, last name, email address, and password.
3) A full-featured datagrid that enables inline editing of data values in a contacts database table (with full create, read, update, delete capability).  There's no need to press any 'save' buttons while editing data in the grid - all edits are automatically updated in the database.  Users can sort rows of the datagrid by clicking any column headers.  Users only see and edit their own saved contact data (only data associated with their account).

All database schema, back-end logic, front-end logic, and every single bit of code was created from the ground up entirely by prompting chatGPT4o, and all debugging was performed completely by simply pasting error messages and questions into GPT.  None of this application was created at all by any manual coding by a human, at every bit of functionality and styling exists *exactly as was specified in chat prompts.

The entire chatGPT conversation can be found at:

https://chatgpt.com/share/c395ee46-40db-437e-b692-975652120f99

and also as .pdf and .mhtml files in this .zip package:

chatGPT_conversation.pdf
chatGPT_conversation.mhtml

This zip file package, which contains the entire application, all notes, and the example sqlite database can be found at:

https://com-pute.com/brython_tutorial/contact_app

Be sure to read the tutorial at:

https://com-pute.com/brython_tutorial

The server part of this application can run on virtually any operating system, including mobile devices, and cheap VPS hosting, and the front-end runs on just about any common device with a web browser.  The project is meant to be used as a basis for many other common types of data management applications, as it contains most of the components that are commonly needed to build production web apps.