{"id":20447926,"url":"https://github.com/chrisross5/infoeduka","last_synced_at":"2026-05-07T05:39:11.054Z","repository":{"id":247771353,"uuid":"771867322","full_name":"ChrisRoss5/infoeduka","owner":"ChrisRoss5","description":"College team project (Project approach to applications development S4): A Django student-news app, deployed on GCP App Engine. Supports user \u0026 admin roles with CRUD for news, courses, and lecturers.","archived":false,"fork":false,"pushed_at":"2024-08-01T01:21:22.000Z","size":7707,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-05T11:03:00.933Z","etag":null,"topics":["appengine","azure-app-service","azure-devops","django","django-template","python","sql","sqlite"],"latest_commit_sha":null,"homepage":"https://infoeduka.k1k1.dev","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/ChrisRoss5.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}},"created_at":"2024-03-14T05:10:39.000Z","updated_at":"2024-08-01T01:21:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"cdca4fb8-747b-4b21-b5cd-aa45d407d90b","html_url":"https://github.com/ChrisRoss5/infoeduka","commit_stats":null,"previous_names":["chrisross5/infoeduka"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ChrisRoss5/infoeduka","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisRoss5%2Finfoeduka","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisRoss5%2Finfoeduka/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisRoss5%2Finfoeduka/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisRoss5%2Finfoeduka/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChrisRoss5","download_url":"https://codeload.github.com/ChrisRoss5/infoeduka/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisRoss5%2Finfoeduka/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32725158,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"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":["appengine","azure-app-service","azure-devops","django","django-template","python","sql","sqlite"],"created_at":"2024-11-15T10:30:56.923Z","updated_at":"2026-05-07T05:39:11.040Z","avatar_url":"https://github.com/ChrisRoss5.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# App deployed on GCP, App Engine\n\n### https://infoeduka.k1k1.dev\n\n-- OR --\n\n### https://infoeduka.oa.r.appspot.com\n\n**IMPORTANT: Startup may take up to 10s due to cold start.**\n\n| EMAIL ADDRESS      | PASSWORD | STAFF STATUS |\n| ------------------ | -------- | ------------ |\n| admin1@admin.com   | 1        | Yes          |\n| predavac1@user.com | 1        | No           |\n\nVisit `/admin` to access Django admin interface.\n\n### About deployment\n\nSteps to deploy a Django app with an SQLite database to the App Engine standard environment:\n1. add `app.yaml` to root\n2. update `settings.py`: allowed hosts, trusted origins and database initialization\n3. run `python manage.py collectstatic`\n4. run `gcloud app deploy`\n\nThe key is to have `init-db.sqlite3` deployed to the App Engine `/tmp` directory, which is writable.\nThis allows for a prepopulated database that resets with each new instance.\nInstances can scale down to zero when not in use.\nThe `init-db.sqlite3` file contains only the user data as shown above.\n\n### Azure DevOps\n\nhttps://dev.azure.com/PRA23-Tim5/_git/Infoeduka%20project\n\n---\n\n⬇ _Original README_ ⬇\n\n## Instalacija\n\nPotreban je Python 3.8 ili noviji za Django 4.2. Više na: [How to install Django](https://docs.djangoproject.com/en/4.2/topics/install/)\n\n```\npip install -r requirements.txt\n```\n\n## Pokretanje\n\n```\npython manage.py migrate\npython manage.py runserver\n```\n\nNakon dodavanja modela potrebno je napraviti migraciju i spremiti ju u bazu podataka:\n\n```\npython manage.py makemigrations\npython manage.py migrate\n```\n\nNakon izmjene modela najlakše je izbrisati bazu i migracije te započeti iznova.\n\n## Korisnici\n\nPredavači su `Useri`.\n\nAdministratori su `Superuseri` (`Useri` sa `is_staff=True` i `is_superuser=True`)\n\nProvjera administratora u kodu se provjerava sa `user.is_staff`.\n\nViše na: [Using the Django authentication system](https://docs.djangoproject.com/en/4.2/topics/auth/default/) i [django.contrib.auth](https://docs.djangoproject.com/en/4.2/ref/contrib/auth/#django-contrib-auth)\n\n### Primjeri korisnika:\n\n| USERNAME           | EMAIL ADDRESS      | FIRST NAME   | LAST NAME        | STAFF STATUS | PASSWORD |\n| ------------------ | ------------------ | ------------ | ---------------- | ------------ | -------- |\n| admin1@admin.com   | admin1@admin.com   | AdminIme1    | AdminPrezime1    | Yes          | 1        |\n| predavac1@user.com | predavac1@user.com | PredavacIme1 | PredavacPrezime1 | No           | 1        |\n\n### Dodavanje korisnika iz primjera:\n\n```\npython manage.py shell\n```\n\n```\nfrom django.contrib.auth.models import User\nUser.objects.create_superuser(username=\"admin1@admin.com\", email=\"admin1@admin.com\", first_name=\"AdminIme1\", last_name=\"AdminPrezime1\", password=\"1\")\nUser.objects.create_user(username=\"predavac1@user.com\", email=\"predavac1@user.com\", first_name=\"PredavacIme1\", last_name=\"PredavacPrezime1\", password=\"1\")\n```\n\n### Dodavanje superusera (drugi način):\n\n```\npython manage.py createsuperuser\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisross5%2Finfoeduka","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrisross5%2Finfoeduka","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisross5%2Finfoeduka/lists"}