{"id":17346763,"url":"https://github.com/staciax/django-book-store","last_synced_at":"2025-07-15T15:37:19.447Z","repository":{"id":234499389,"uuid":"789025190","full_name":"staciax/django-book-store","owner":"staciax","description":"Anime Book Store written in Django (with next.js app router in django)","archived":false,"fork":false,"pushed_at":"2025-03-19T17:22:16.000Z","size":416,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-19T17:22:30.916Z","etag":null,"topics":["djnago","docker","docker-compose","nextjs","postgresql","python","tailwindcss"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/staciax.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-04-19T14:59:02.000Z","updated_at":"2025-03-19T17:22:20.000Z","dependencies_parsed_at":"2024-12-19T20:28:49.263Z","dependency_job_id":"9a8cbaf2-776d-448f-9f2d-6df01649bbdc","html_url":"https://github.com/staciax/django-book-store","commit_stats":null,"previous_names":["staciax/django-book-store"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/staciax/django-book-store","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/staciax%2Fdjango-book-store","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/staciax%2Fdjango-book-store/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/staciax%2Fdjango-book-store/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/staciax%2Fdjango-book-store/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/staciax","download_url":"https://codeload.github.com/staciax/django-book-store/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/staciax%2Fdjango-book-store/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265443547,"owners_count":23766408,"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":["djnago","docker","docker-compose","nextjs","postgresql","python","tailwindcss"],"created_at":"2024-10-15T16:46:35.802Z","updated_at":"2025-07-15T15:37:19.436Z","avatar_url":"https://github.com/staciax.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Novel, Anime, and Comic Book Store Written in Django\n\nThis is a project for my university Web Programming course, where I was assigned to develop a website using the Django framework.\nI created an e-commerce platform for novels, anime, and comic books.\n\n\u003e **Note:** This project is purely academic and created for university coursework. All preview images showing copyrighted content are used solely for educational demonstration.\n\n## Preview Images\n\n![site-preview](https://imgur.com/QqAhfNh.png)\n\n\u003cdetails\u003e\n  \u003csummary\u003eShow more\u003c/summary\u003e\n  \u003cimg src=\"https://imgur.com/3L6mhtK.png\" alt=\"site-preview-2\"\u003e\n  \u003cimg src=\"https://imgur.com/7CNWtQl.png\" alt=\"site-preview-3\"\u003e\n\u003c/details\u003e\n\n## Features\n\n- [x] Membership\n- [x] Product Search\n- [x] Shopping Cart\n- [x] Payment\n- [x] Order History\n\n## Requirements\n\n- [Python](https://www.python.org) 3.12+\n- [Node.js](https://nodejs.org/en) 20+\n\n## Environment Variables\n\nCreate a .env file in the project and add the following Environment Variables:\n\n```py\n# django\nDJANGO_SECRET_KEY='secret'\nDJANGO_DEBUG='True'\nDJANGO_ALLOWED_HOSTS='*'\nDJANGO_CSRF_TRUSTED_ORIGINS='http://, https://'\n\n# payment\nPROMPTPAY_ID='0987654321'\n\n# postgres\nPOSTGRES_DB='database'\nPOSTGRES_USER='username'\nPOSTGRES_PASSWORD='password'\nPOSTGRES_HOST='hostname'\nPOSTGRES_PORT='5432'\n```\n\n## Setup\n\n1. Create a Virtual Environment using uv\n\n```bash\nuv venv\n```\n\n2. Install necessary packages for the project\n\n```bash\n# python package with uv\nuv sync\n\n# node package (for tailwindcss, linting, formatting, etc.)\nnpm install\n```\n\n3. Setup the project\n\n```bash\nmake setup\n```\n\n4. Run the project\n\n```bash\nmake run\n```\n\n## Setup for Development\n\n1. Run the project\n\n```bash\nmake run\n```\n\n2. Run tailwindcss in watch mode\n\n```bash\nnpm run dev\n```\n\n## Router (Like Next.js App Router)\n\nFor example, define a route with the file `page.py` in the `[app]/routes` folder:\n\n```python\nfrom django.shortcuts import render\n\ndef page(request):\n    \"\"\"home\"\"\"\n    # You can also name the page\n    # path(..., ..., name='home')\n\n    context = {}\n    return render(request, 'page.html')\n```\n\nOr\n\n```python\nfrom store.core.routers import render\n\ndef page(request):\n    \"\"\"home\"\"\"\n\n    context = {}\n    # template name is auto detected\n    # it will look for page.html in the same directory as page.py\n    return render(request, context)\n```\n\n| Route                                | Example URL | params        |\n| ------------------------------------ | ----------- | ------------- |\n| `[app]/routes/page.py`               | `/`         | `{}`          |\n| `[app]/routes/info/page.py`          | `/info/`    | `{}`          |\n| `[app]/routes/(group)/about/page.py` | `/about/`   | `{}`          |\n| `[app]/routes/user/[slug]/page.py`   | `/user/1/`  | `{'slug': 1}` |\n\n### Example folder structure\n\n```\n[app]\n├── migrations\n│   └── __init__.py\n├── routes\n│   ├── (auth)              # group\n│   │   ├── login\n│   │   │   ├── page.html   # template\n│   │   │   └── page.py     # route\n│   │   └── register\n│   │       ├── page.html\n│   │       └── page.py\n│   ├── info\n│   │   └── page.html\n│   │   └── page.py\n│   ├── user\n│   │   └── [user_id]      # with parameter\n│   │       ├── page.html\n│   │       └── page.py\n│   ├── layout.html        # base layout\n│   ├── page.html          # template\n│   └── page.py            # route\n├── __init__.py\n├── admin.py\n├── apps.py\n├── models.py\n├── tests.py\n├── urls.py\n└── views.py\n```\n\n\u003c!-- TODO: windows setup --\u003e\n\u003c!-- TODO: docker setup --\u003e\n\n\u003c!-- ## Docker and Docker Compose\n\nStart with\n\n```bash\nmake docker-setup\n``` --\u003e\n\n## Inspiration Websites\n\n- [Phoenix Next](https://www.phoenixnext.com) :heart:\n- [Animate BKK](https://animatebkk-online.com)\n- [Naiin](https://www.naiin.com)\n- [MEB Market](https://www.mebmarket.com)\n\n# License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstaciax%2Fdjango-book-store","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstaciax%2Fdjango-book-store","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstaciax%2Fdjango-book-store/lists"}