{"id":48147379,"url":"https://github.com/t0ks1k24/hackathon_team3","last_synced_at":"2026-04-04T17:01:35.813Z","repository":{"id":295798813,"uuid":"991275279","full_name":"T0ks1k24/Hackathon_Team3","owner":"T0ks1k24","description":"📚 Book catalog web app with authentication, search and book details. Built with React + Django + PostgreSQL.","archived":false,"fork":false,"pushed_at":"2025-08-24T15:17:14.000Z","size":2042,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-24T20:09:23.718Z","etag":null,"topics":["books","catalog","django","docker","hackthon","jwt-auth","postgresql","python","react","rest-api"],"latest_commit_sha":null,"homepage":"","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/T0ks1k24.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}},"created_at":"2025-05-27T11:39:57.000Z","updated_at":"2025-08-24T15:16:59.000Z","dependencies_parsed_at":"2025-05-27T12:48:47.073Z","dependency_job_id":null,"html_url":"https://github.com/T0ks1k24/Hackathon_Team3","commit_stats":null,"previous_names":["t0ks1k24/hackathon_team3"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/T0ks1k24/Hackathon_Team3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/T0ks1k24%2FHackathon_Team3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/T0ks1k24%2FHackathon_Team3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/T0ks1k24%2FHackathon_Team3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/T0ks1k24%2FHackathon_Team3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/T0ks1k24","download_url":"https://codeload.github.com/T0ks1k24/Hackathon_Team3/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/T0ks1k24%2FHackathon_Team3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31407387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: 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":["books","catalog","django","docker","hackthon","jwt-auth","postgresql","python","react","rest-api"],"created_at":"2026-04-04T17:01:34.486Z","updated_at":"2026-04-04T17:01:35.766Z","avatar_url":"https://github.com/T0ks1k24.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hackathon_Team3\n\n## 🔹 Book Collection Website\n\nThis is a web application for convenient book search and browsing. The site allows users to:\n\n* 🔐 Authenticate (login/register)\n* 📖 View books\n* 🔍 Search books by title\n\n---\n\n## 🔧 Problem the Website Solves\n\n* 📘 Provides quick access to book information\n* 🔍 Allows easy search by title\n* 🔐 Provides simple authentication with JWT\n* 💻 Offers an intuitive interface (planned improvements)\n\n---\n\n## ✅ Key Features\n\n* 🔐 User authentication (Login) and registration (Register)\n* 🏠 Home page with greeting\n* 🔒 Automatic redirect to login page if not authenticated\n* 📚 Book catalog with pagination\n* 📄 Detailed book information view\n\n---\n\n## 🛠️ Technologies Used\n\n### 🔹 Frontend (React)\n\n* ⚛️ **React** — core library for building the UI\n* 🔁 **React Router** — page routing\n* 🧠 **Redux Toolkit** — centralized state management\n* 🎨 **React Icons** — modern styled icons\n* 🧰 **Lodash** — utility library for arrays, objects, strings\n\n---\n\n### 🔹 Backend (Django)\n\n* 🐍 **Python + Django 5.2** — backend framework\n* 🌐 **Django REST Framework (DRF)** — REST API creation\n* 🔐 **Simple JWT** — authentication with JSON Web Tokens\n* 🔎 **django-filter** — API request filtering\n* 🌍 **django-cors-headers** — CORS support for frontend communication\n* 📄 **drf-yasg** — autogenerated API docs (Swagger/OpenAPI)\n* ⚙️ **python-dotenv** — load configs from `.env`\n* 🌐 **requests** — HTTP requests\n* 🧽 **BeautifulSoup4** — HTML/data parsing\n* 📊 **pandas + XlsxWriter** — analytics, Excel export\n\n---\n\n### 🔹 DevOps\n\n* 🐳 Docker\n* 🐙 docker-compose\n* 🌲 git\n* 🐱 GitHub\n* ⚙️ GitHub Actions\n* 🌐 nginx\n\n---\n\n### 🗃️ Database\n\n* 🐘 **PostgreSQL** — relational database for books, users, and more\n\n---\n\n## 2. Installation\n\nYou can use Docker to run the project — this makes setup much easier.\n\n### Run with Docker\n\n```bash\ncd devops/docker/\ndocker-compose up -d\n```\n\n### Backend (Python / Django)\n\nEnsure you have Python 3.10+ and pip installed.\n\n```bash\ncd backend\npython -m venv env\n\n# Windows\nsource env/Scripts/activate\n\n# MacOS/Linux\nsource env/bin/activate\n\npip install -r requirements.txt\n```\n\n### Frontend (React)\n\nEnsure Node.js and npm are installed.\n\n```bash\ncd frontend\nnpm install\n```\n\n---\n\n## 🚀 Running the Project\n\n### Backend (Django)\n\n```bash\ncd backend\npython manage.py makemigrations\npython manage.py migrate\npython manage.py runserver\n```\n\n### Frontend (React)\n\n```bash\ncd frontend\nnpm start\n```\n\n* Frontend → [http://localhost:3000](http://localhost:3000)\n* Backend API → [http://localhost:8000](http://localhost:8000)\n\n---\n\n### 🛠️ API Documentation\n\n* Swagger/OpenAPI available at:\n  [http://localhost:8000/swagger/](http://localhost:8000/swagger/)\n\n⚠️ All protected endpoints require a JWT token in the header:\n\n```\nAuthorization: Bearer \u003cyour_access_token\u003e\n```\n\n---\n\n## 🧠 Conclusions / Next Steps\n\n🔚 Our site is not yet a full-fledged library, but it’s no longer just a notebook hack. In 4 days we built working authentication, book search, a catalog, and UI — and that’s already a **victory** (small “v”, bold font).\n\n💤 Countless sleepless nights, more coffee than code, and our team mantra:\n**“I still know nothing, but I’m already coding!”**\n\n👨‍💻 Despite teammates being like:\n\n* “team knows nothing yet”\n* “team went to sleep”\n* “team forgot to push to git”\n\nEveryone contributed — even those who joked more than coded!\n\n---\n\n### 📅 What We Plan to Add\n\n* 💾 Save books to favorites (likes, bookmarks)\n* ⭐ Book ratings and reviews\n* 📥 Admin panel for manual book adding\n* 📦 Parser for new online sources\n* 🌗 Dark/light theme (partially done)\n* 📱 Mobile adaptation\n* 🛡️ More validations and security\n\n---\n\n🎉 The project became more than just code — it was an adventure: bugs, fixes, chaos in Discord, and memes instead of documentation 😄\n\nWe learned more than expected, wrote more code than planned, and of course — slept less than we should have.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft0ks1k24%2Fhackathon_team3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ft0ks1k24%2Fhackathon_team3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft0ks1k24%2Fhackathon_team3/lists"}