{"id":26231006,"url":"https://github.com/pashacoder217/github-search-dashboard","last_synced_at":"2026-02-04T00:37:40.754Z","repository":{"id":279418350,"uuid":"938688328","full_name":"pashacoder217/github-search-dashboard","owner":"pashacoder217","description":"Simple web application built by React, Django, Django Rest Framework and Redis,","archived":false,"fork":false,"pushed_at":"2025-03-10T14:49:06.000Z","size":82,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-06T19:13:19.043Z","etag":null,"topics":["django","django-rest-framework","react","redis","sqlite3"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/pashacoder217.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":"2025-02-25T10:49:28.000Z","updated_at":"2025-03-10T14:50:53.000Z","dependencies_parsed_at":"2025-03-13T02:16:54.594Z","dependency_job_id":null,"html_url":"https://github.com/pashacoder217/github-search-dashboard","commit_stats":null,"previous_names":["pavlo-corder/123123","pashacoder217/123123","pashacoder217/github-search-dashboard"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pashacoder217/github-search-dashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pashacoder217%2Fgithub-search-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pashacoder217%2Fgithub-search-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pashacoder217%2Fgithub-search-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pashacoder217%2Fgithub-search-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pashacoder217","download_url":"https://codeload.github.com/pashacoder217/github-search-dashboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pashacoder217%2Fgithub-search-dashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29062715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T00:26:14.114Z","status":"ssl_error","status_checked_at":"2026-02-04T00:23:06.435Z","response_time":96,"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","django-rest-framework","react","redis","sqlite3"],"created_at":"2025-03-12T23:18:05.643Z","updated_at":"2026-02-04T00:37:40.725Z","avatar_url":"https://github.com/pashacoder217.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Description\n\nThis web application is developed using Django 4.2.2 and Django REST Framework (DRF) for the Backend, with React.js for the Frontend. It leverages Redis for caching, Redux for state management, TypeScript for type safety, React Router for navigation, and Styled Components for styling.\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Project Structure](#project-structure)\n- [Getting Started](#getting-started)\n- [Configuration](#configuration)\n- [API Documentation](#api-documentation)\n- [Backend Unit Testing](#backend-unit-testing)\n\n## Overview\n\nThis project offers scalable UI to work with data from a Django REST API. The frontend is developed using React and manages state with Redux, while TypeScript ensures type safety. Redis is used to store frequently accessed data, which speeds up responses and enhances performance. The styling is done with Styled Components, allowing for modular and reusable designs.\n\n### Backend\n\n- **Django 4.2.2** : Backend Framework\n- **Django REST Framework** : Restful API Development\n- **Redis** : Caching Data\n\n### Frontend\n\n- **React.js** : UI Building\n- **TypeScript** : Type Safety\n- **Redux Toolkit (Redux Slice)**: State Management\n- **React Router** : Navigation\n- **Infinite Scroll** : Infinite Scrolling for Displaying Results\n- **Styled Components** : CSS-in-JS for Styling\n\n## Project Structure\n\n```\ngithub-searcher/\n│── backend/\n│   │── backend/\n│   │   │── config/\n│   │   │── search/\n│   │   │── .gitignore\n│   │   │── db.sqlite3\n│   │   │── manage.py\n│   │   │── requirements.txt\n│   │   │── .env\n│── frontend/\n│   │── public/\n│   │── src/\n│   │── .env\n│   │── .gitignore\n│   │── package-lock.json\n│   │── package.json\n│   │── README.md\n│   │── tsconfig.json\n│── readme.md\n```\n\n## Getting Started\n\n### Requirements\n\n- **Python 3.8 or later**\n- **Django 4.2.2 and Django REST Framework**\n- **React.js and TypeScript**\n- **Node.js 16.20.0 or later**\n- **Redis Server**\n\n### Installation\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone 'gitlab URL'\n   cd 'github-searcher'\n   ```\n\n2. **Backend Setup (Django):**\n\n   - **Create a virtual environment and activate it:**\n     ```bash\n     cd backend/backend\n     python3 -m venv venv\n     venv\\Scripts\\activate  # Windows\n     source venv/bin/activate  # macOS/Linux\n     ```\n   - **Install the Python dependencies:**\n     ```bash\n     pip install -r requirements.txt\n     ```\n\n3. **Set up the Frontend (React):**\n   - **Navigate to the frontend directory:**\n     ```bash\n     cd frontend\n     ```\n   - **Install dependencies:**\n     ```bash\n     npm install\n     ```\n\n### Running the Application\n\n1. **Start the Redis Server:**\n   #### Windows\n   ```bash\n   redis-server\n   ```\n   #### Ubuntu\n   ```bash\n   sudo apt update\n   sudo apt install redis-server\n   sudo systemctl start redis\n   ```\n2. **Start Backend Server:**\n   ```bash\n   cd backend/backend\n   python3 manage.py runserver\n   ```\n3. **Start Frontend Server:**\n   ```bash\n   cd frontend\n   npm start\n   ```\n\nThe application running:\n\n- http://localhost:3000/ (React)\n- http://localhost:8000/ (Django).\n\n## Configuration\n\n### Environment Variables\n\nYou can configure the settings in the `.env` file for both the frontend and the backend.\n\n### Redis Configure\n\nYou can configure the settings in `settings.py`.\n\n## API Documentation\n\n- Swagger: http://localhost:8000/api/swagger/\n- Redoc: http://localhost:8000/api/redoc/\n\n### Sample Endpoints\n\n- **Search Endpoint: POST /api/search/**\n- **Clear Cache Endpoint: POST /api/clear-cache/**\n\n## Backend Unit Testing\n\n- **Activate Virtual Environment (if not already activated):**\n\n  ```bash\n  cd backend/backend\n  venv\\Scripts\\activate  # Windows\n  source venv/bin/activate  # macOS/Linux\n  ```\n\n- **Run Tests:**\n\n  ```bash\n  python3 manage.py test\n  ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpashacoder217%2Fgithub-search-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpashacoder217%2Fgithub-search-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpashacoder217%2Fgithub-search-dashboard/lists"}