{"id":50034152,"url":"https://github.com/csev/dj4e-market","last_synced_at":"2026-05-20T23:40:52.861Z","repository":{"id":294561738,"uuid":"987353033","full_name":"csev/dj4e-market","owner":"csev","description":"Base Checkout of the DJ4E Marketplace","archived":false,"fork":false,"pushed_at":"2026-03-23T04:20:27.000Z","size":59,"stargazers_count":3,"open_issues_count":2,"forks_count":3,"subscribers_count":1,"default_branch":"django52","last_synced_at":"2026-03-24T00:48:57.964Z","etag":null,"topics":["django","python","sql"],"latest_commit_sha":null,"homepage":"https://www.dj4e.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/csev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-21T00:43:28.000Z","updated_at":"2026-03-23T04:20:30.000Z","dependencies_parsed_at":"2025-05-21T02:39:32.611Z","dependency_job_id":"c1c0eafc-bffb-4d4c-b3ae-0b86c6518b22","html_url":"https://github.com/csev/dj4e-market","commit_stats":null,"previous_names":["csev/dj4e-market"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/csev/dj4e-market","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csev%2Fdj4e-market","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csev%2Fdj4e-market/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csev%2Fdj4e-market/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csev%2Fdj4e-market/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/csev","download_url":"https://codeload.github.com/csev/dj4e-market/tar.gz/refs/heads/django52","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csev%2Fdj4e-market/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33280306,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-20T15:12:43.734Z","status":"ssl_error","status_checked_at":"2026-05-20T15:12:42.300Z","response_time":356,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["django","python","sql"],"created_at":"2026-05-20T23:40:52.316Z","updated_at":"2026-05-20T23:40:52.857Z","avatar_url":"https://github.com/csev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nDjango for Everybody Marketplace\n================================\n\nThis is a starter repository to be used to set up the series of\nmarketplace assignments on the www.dj4e.com web site.\n\nThere is a video walkthrough of these instructions \nat \u003ca href=\"https://youtu.be/a3CODtpZCLM\" target=\"_blank\"\u003eInstalling the initial\nversion of DJ4E Marketplace from github\u003c/a\u003e.\n\nNOTE: As of January 2026, PythonAnywhere \u003ca href=\"https://blog.pythonanywhere.com/221/\"\ntarget=\"_blank\"\u003eremoved MySQL from their free accounts\u003c/a\u003e used for this course.\nAs such we will use SQLite for the marketplace series of applications.  If\nyou started with MySQL using a pre-January 2026 PythonAnywhere account you\ncan continue to use MySQL.\n\nIn order to keep this application working across multiple versions of Django,\nthe default branch of this repository is `django52`.  In the future this will\nallow the repository to simultaneously support multiple versions of Django\nmore easily.\n\nInstalling this on PythonAnywhere\n---------------------------------\n\nIf you are installing this in the middle of taking the DJ4E course, you should\nalready have a virtual environment set up in your bash console and in your web\ntab. Open a bash console and it should look like this:\n\n    (.ve52) 14:15 ~ $\n\nIf you do not have have a Django 5.2 virtual envronment set up, please see the Django 5.2 \ninstall instructions at [www.dj4e.com](https://www.dj4e.com/assn/dj4e_install52.md).\n\nWith a properly configured virtual environment in place, checkout this repository:\n\n    cd ~/django_projects  \n    git clone https://github.com/csev/dj4e-market.git market\n    cd market\n    git checkout django52\n    python --version\n\nThe Python version for Django 5.2 should be at least `3.11`.  It will most likely be\n`3.12` or later.  Once you verify your Python version is correct, run:\n\n    cd ~/django_projects/market\n    pip install --upgrade pip\n    pip install -r requirements52.txt\n    python -m django --version\n\nYour Django version should be `5.2` or later.   If you are on Django `4.x` or\n`6.x` this repository will likely not work.  Check to see if there are other branches\nthat match your version of Django.\n\nYou will notice that in this project, the project-wide `settings.py` and project-wide\n`urls.py` is in a folder called `market/config` not `market/market`. \nMany developers find it less confusing that using the project folder name as the project\nconfiguration folder name.\n\nTo make sure you have your dependencies have been installed correctly, run:\n\n    python manage.py check\n\nUntil you see output like:\n\n    python manage.py check\n    Using registration/login.html as the login template\n    System check identified no issues (0 silenced).\n\n*Important*: If you get any kind of traceback, you need to stop and fix any errors before continuing.\nYou should not continue with these instructions until `python manage.py check` runs without errors.\n\nRunning on PythonAnywhere\n-------------------------\n\nThis project uses SQLite (`db.sqlite3` in the project root). The database is configured\nin `config/settings.py` under `DATABASES`. No extra database setup is required on\nPythonAnywhere beyond the steps in \"Initializing your Database\".\n\nIf you are installing this to be submitted to the DJ4E autograder - make sure to launch the\nautograder and check if there are additional requirements like adding a particular\nadminstrator user or setting a code string for the autograder.\n\nInitializing your Database\n--------------------------\n\nOnce `check` works you will need to run your migrations and make a new\nadministrator account.  Again if you encounter any error in these commands\nstop and figure out the error before proceeding.\n\n    cd ~/django_projects/market\n    python manage.py makemigrations      # Probably will say \"no changes\"\n    python manage.py migrate\n\n    python manage.py createsuperuser\n\nAt this point you need to configure your PythonAnywhere `Web` application to\npoint to the new project directory.\nUnder the Web tab, update the config files to point to your new project:\n\n    Source code:                /home/--your-account--/django_projects/market\n    Working Directory:          /home/--your-account--/django_projects/market\n\nEdit the `WGSI configuration file` under the `Web` tab, and replace it with the following:\n\n    import os\n    import sys\n\n    path = os.path.expanduser('~/django_projects/market')\n    if path not in sys.path:\n        sys.path.insert(0, path)\n    os.environ['DJANGO_SETTINGS_MODULE'] = 'config.settings'\n    from django.core.wsgi import get_wsgi_application\n    from django.contrib.staticfiles.handlers import StaticFilesHandler\n    application = StaticFilesHandler(get_wsgi_application())\n\nYou can edit these files and settings in the Web tab to switch between\nyour various projects on PythonAnywhere.  Make sure to reload under the Web tab after\nevery file or configuration change.\n\nOnce this is done reload your web application and navigate to your application.\n\nChanging the Name of Your Application\n-------------------------------------\n\nIn the `market/config/settings.py` there is a `APP_NAME` variable.   Give your application a name\nother than the default of \"Chuck's Marketplace\".  It does not have to be your name - just something\nother than the default.\n\nOnce this is done reload your web application and navigate to your application and verify the name\nin the top menu has changed.\n\nSetting up Git (Source Code Managment) On PythonAnywhere\n--------------------------------------------------------\n\nAs you go through all the assignments based on this starting code we will use the \n`git` version management at the end of each assignment so if things go badly, you can\n\"go back in time\" to a known good version and start over working on one assignment.\n\nTo use `git` you must first tell `git` who you are so that it can mark each of your changes.\nRun the following commands to configure `git` in your PythonAnywhere account:\n\n    cd ~/django_projects/market\n    git config --global user.email \"youremail@example.com\"\n    git config --global user.name \"Your name\"\n\nTesting your Application\n------------------------\n\nOnce your application starts and is running, you can enter a few URLs in your browser\nto check how much is working.\n\n    https://your-account.pythonanywhere.com/\n\nWill should show a simple welcome page - we will replace this in a later assignment.\n\n    https://your-account.pythonanywhere.com/home\n\nWill show the same simple welcome page - we will keep this throughout the series of assignments\n\n    https://your-account.pythonanywhere.com/favicon.ico\n\nWill show a small \"favicon\" with \"4E\" and a blue background - you will replace this later\n\n    https://your-account.pythonanywhere.com/admin\n\nWill allow you to log in and test your administrator account and password and\nshow a few Django internal tables.\n\nResetting Your Database\n------------------------\n\nIf you encounter problems with migrations or need to start with a fresh database,\nyou can use the automated database reset script. This is particularly useful when\nyou have made a series of changes to `models.py` and migration files become confused\ncausing `makemigrations` to fail.\n\nFor detailed instructions on how to reset your database and migration files, see\n[DB_RESET.md](DB_RESET.md).\n\nThe reset script will:\n- Drop all tables in your database\n- Delete all migration files (except `__init__.py`)\n- Allow you to start fresh with `makemigrations` and `migrate`\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsev%2Fdj4e-market","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcsev%2Fdj4e-market","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsev%2Fdj4e-market/lists"}