{"id":20977430,"url":"https://github.com/ruferdz/digitalbookhub","last_synced_at":"2026-04-13T10:32:24.611Z","repository":{"id":212183286,"uuid":"717429842","full_name":"RuFerdZ/DigitalBookHub","owner":"RuFerdZ","description":"A digital public e-library system built upon Django Rest Framework and React JS 📕","archived":false,"fork":false,"pushed_at":"2023-12-17T02:44:17.000Z","size":12821,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-12-30T17:56:43.231Z","etag":null,"topics":["django-rest-framework","docker","postgresql","python"],"latest_commit_sha":null,"homepage":"https://digitalbookhub.netlify.app/","language":"JavaScript","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/RuFerdZ.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":"2023-11-11T13:18:35.000Z","updated_at":"2024-01-10T01:34:29.000Z","dependencies_parsed_at":"2023-12-17T03:45:11.655Z","dependency_job_id":null,"html_url":"https://github.com/RuFerdZ/DigitalBookHub","commit_stats":null,"previous_names":["ruferdz/digitalbookhub"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RuFerdZ/DigitalBookHub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RuFerdZ%2FDigitalBookHub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RuFerdZ%2FDigitalBookHub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RuFerdZ%2FDigitalBookHub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RuFerdZ%2FDigitalBookHub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RuFerdZ","download_url":"https://codeload.github.com/RuFerdZ/DigitalBookHub/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RuFerdZ%2FDigitalBookHub/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31749058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T09:16:15.125Z","status":"ssl_error","status_checked_at":"2026-04-13T09:16:05.023Z","response_time":93,"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-rest-framework","docker","postgresql","python"],"created_at":"2024-11-19T04:58:47.277Z","updated_at":"2026-04-13T10:32:24.594Z","avatar_url":"https://github.com/RuFerdZ.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📕 DigitalBookHub \n\n\u003e Done as a part of AML 1204: Python Programming In Canada @ Lambton College -  Group project\n\nThis is the repository which holds the code for the DigitalBookHub, a CRUD application for a public digital e-library system.\n\n![Web application user interface](/assets/UI.jpeg)\n\n\nFeatures:\n\n- Users can search, view and download books.\n- Registered users can upload books.\n\n## Team Members 🧑🏻‍🤝‍🧑🏼\n\n- C0904675 - [Yolimar Rios](https://github.com/yolimar01)\n- C0908671 - [Chris Mary Bulatao](https://github.com/ChrisMary-Bulatao)\n- C0903980 - [Vihangi Kolamunna](https://github.com/vihangihk)\n- C0906287 - [William Binitie](https://github.com/Jaimewill0511)\n- C0918066 - [Galgamuge Emmanuel Fernando](https://github.com/RuFerdZ)\n\n## Pre-requisites 🛠\n\n- [Node JS](https://nodejs.org/en/) stable version.\n- [python 3.x](https://www.python.org/downloads/) and configure path.\n- [virtualenv](https://pypi.org/project/virtualenv/) python library\n- [PostgresSQL](https://www.postgresql.org/download/windows/) v11.x.\n- [PostGis](https://postgis.net/documentation/getting_started/) extension.\n- [Docker Desktop](https://www.docker.com/products/docker-desktop/) (Optional - only if running via docker).\n\n## URLs\n\n- Access the web application: ```http://localhost:8000```\n- Access the admin dashboard: ```http://localhost:8000/admin```\n- Postman collection: [Collection](https://elements.getpostman.com/redirect?entityId=9209211-6116f7ed-2c3f-41a5-baef-569e9fd62799\u0026entityType=collection)\n\n## Frontend Configuration 🖼\n\n1) Navigate to ```\"\\webapp\"```:\n\n        D:\\DigitalBookHub\u003e cd webapp\n        D:\\DigitalBookHub\\webapp\u003e\n\n2) Run the below command to install the required node modules for the web application:\n\n        D:\\DigitalBookHub\\webapp\u003e npm install\n\n3) Build the project:\n\n         D:\\DigitalBookHub\\webapp\u003e npm run build\n\n4) Once the node modules are installed, run the below command to start the web application:\n\n        D:\\DigitalBookHub\\webapp\u003e npm start\n\n5) The web application will be servered via ```\"http://localhost:3000\"```\n\n## Database Configuration 🗃\n\n1) Create the database and user.\n\n    Open Windows Command Prompt (CMD) and enter the below commands (outputs are also shown).\n\n    Log into postgreSQL as default user postgres and enter password setup during installation:\n\n        C:\\Windows\\System32\u003e psql -U postgres\n        Password for user postgres:\n        psql (11.21)\n        WARNING: Console code page (437) differs from Windows code page (1252)\n                8-bit characters might not work correctly. See psql reference\n                page \"Notes for Windows users\" for details.\n        Type \"help\" for help.\n\n        postgres=#\n\n\n    Create database \"digitalbookhub\":\n        \n        postgres=# CREATE DATABASE digitalbookhub;\n        CREATE DATABASE\n    \n    Create user \"dhb\":\n\n        postgres=# CREATE USER dbh;\n        CREATE ROLE\n\n    Set user with encrypted password \"dbh\" (in our case, password is same as username):\n    \n        postgres=# ALTER USER dbh WITH ENCRYPTED PASSWORD 'dbh';\n        ALTER ROLE\n\n2) Configure user and database.\n\n    Connect to the database:\n\n        postgres=# \\c digitalbookhub\n        You are now connected to database \"digitalbookhub\" as user \"postgres\".\n        digitalbookhub=# \n\n    Create schema \"digitalbookhub\"\n\n        digitalbookhub=# CREATE SCHEMA digitalbookhub;\n        CREATE SCHEMA\n\n    Grant all the privileges of the database to the user:\n\n        digitalbookhub=# GRANT ALL PRIVILEGES ON DATABASE digitalbookhub TO dbh;\n        GRANT\n\n    Grant all privieges of the schema tables to the user:\n\n        digitalbookhub=# GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA digitalbookhub TO dbh;\n        GRANT\n\n    Grant all settings of schema to the user:\n\n        digitalbookhub=# GRANT ALL ON SCHEMA digitalbookhub TO dbh;\n        GRANT\n\n    Grant all usages of schema to the user:\n\n        digitalbookhub=# GRANT USAGE ON SCHEMA digitalbookhub TO dbh;\n        GRANT\n\n    Create and enable postgis extension on the database:\n\n        digitalbookhub=# CREATE EXTENSION postgis;\n        CREATE EXTENSION\n\n    Close the command prompt window.\n    \n3) Connect to the database.\n\n    The below are the database properties. You can connect to the database via the CMD or any database IDEs.\n\n    - host: jdbc:postgresql://localhost:5432/digitalbookhub\n    \n    - username: dbh\n\n    - password: dbh\n\n## Backend Configuration ⚙\n\n1. Navigate to ```\"\\backend\"```:\n\n        D:\\DigitalBookHub\u003e cd backend\n        D:\\DigitalBookHub\\backend\u003e\n\n2. Create new virtual environment called ```\"venv\"```:\n\n        D:\\DigitalBookHub\\backend\u003e virtualenv venv\n\n3. Log in to the virtual environment:\n\n         D:\\DigitalBookHub\\backend\u003e .\\venv\\Scripts\\activate\n         (venv) D:\\DigitalBookHub\\backend\u003e \n\n4. Install all the requirements required to run the backend:\n\n        (venv) D:\\DigitalBookHub\\backend\u003e pip install -r requirements.txt\n\n5. Run the backend:\n\n        (venv) D:\\DigitalBookHub\\backend\u003e python manage.py runserver\n        Watching for file changes with StatReloader\n        Performing system checks...\n\n        System check identified no issues (0 silenced).\n\n        You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.\n        Run 'python manage.py migrate' to apply them.\n        December 10, 2023 - 02:00:33\n        Django version 5.0, using settings 'backend.settings'\n        Starting development server at http://127.0.0.1:8000/\n        Quit the server with CTRL-BREAK.\n\n\n\n\n## Run via Docker 🐳\n\n1. Build the Docker image:\n\n        D:\\DigitalBookHub\u003e docker build -t digitalbookhub-image .\n\n2. View the built docker image:\n\n        D:\\DigitalBookHub\u003e docker image ls\n        REPOSITORY             TAG       IMAGE ID       CREATED         SIZE\n        digitalbookhub-image   latest    f9ef80828781   2 minutes ago   122MB\n        D:\\DigitalBookHub\u003e\n\n\n3. Run the docker image in detached mode:\n\n        D:\\DigitalBookHub\u003e docker run -d -p 8000:8000  --name digitalbookhub digitalbookhub-image\n        97383644a834c7121ef9a827a345bb5ebafd6f6adb4e71232d13b45fd0456a66\n        D:\\DigitalBookHub\u003e\n\n4. Confirm the container is running:\n        \n        D:\\DigitalBookHub\u003e docker ps\n        CONTAINER ID   IMAGE                  COMMAND                  CREATED          STATUS          PORTS                    NAMES\n        97383644a834   digitalbookhub-image   \"uvicorn main:app --…\"   55 seconds ago   Up 54 seconds   0.0.0.0:8000-\u003e8000/tcp   digitalbookhub\n        D:\\DigitalBookHub\u003e\n\n    The container status should be ```\"up\"```.\n\n\n5. Access via the browser:\n\n    - http://localhost:8000/\n\n\n## Resources 🌐\n- [Django Rest Framework Documentation](https://www.django-rest-framework.org/tutorial/quickstart/)\n- [ReactJS Documentation](https://react.dev/blog/2023/03/16/introducing-react-dev)\n- [DRF Github Projects](https://github.com/RealmTeam/django-rest-framework-social-oauth2)\n- [W3Schools](https://www.w3schools.com/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruferdz%2Fdigitalbookhub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fruferdz%2Fdigitalbookhub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruferdz%2Fdigitalbookhub/lists"}