{"id":38759330,"url":"https://github.com/raykipkorir/ecommerce_savannah","last_synced_at":"2026-01-17T11:56:06.915Z","repository":{"id":223793781,"uuid":"757242148","full_name":"raykipkorir/ecommerce_savannah","owner":"raykipkorir","description":"Backend Technical Challenge","archived":false,"fork":false,"pushed_at":"2025-02-02T08:12:46.000Z","size":121,"stargazers_count":2,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T09:20:10.485Z","etag":null,"topics":["django-rest-framework","oauth2","rest-api"],"latest_commit_sha":null,"homepage":"https://ecommerce-savannah.onrender.com","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/raykipkorir.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-02-14T04:46:26.000Z","updated_at":"2025-02-02T08:11:50.000Z","dependencies_parsed_at":"2025-02-02T11:15:12.156Z","dependency_job_id":null,"html_url":"https://github.com/raykipkorir/ecommerce_savannah","commit_stats":null,"previous_names":["raykipkorir/ecommerce_savannah"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/raykipkorir/ecommerce_savannah","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raykipkorir%2Fecommerce_savannah","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raykipkorir%2Fecommerce_savannah/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raykipkorir%2Fecommerce_savannah/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raykipkorir%2Fecommerce_savannah/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raykipkorir","download_url":"https://codeload.github.com/raykipkorir/ecommerce_savannah/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raykipkorir%2Fecommerce_savannah/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28508464,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T11:50:55.898Z","status":"ssl_error","status_checked_at":"2026-01-17T11:50:55.569Z","response_time":85,"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","oauth2","rest-api"],"created_at":"2026-01-17T11:56:06.789Z","updated_at":"2026-01-17T11:56:06.887Z","avatar_url":"https://github.com/raykipkorir.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ecommerce Savannah\n## Overview\nBackend Technical challenge\n### Available functionalities\n1. Users can sign in via Google or GitHub. Once signed in a cart instance is created.\n2. Users can add products to cart as well as increment or decrement the quantity of the product in cart.\n3. Once the product is added to cart, users can make an order. An SMS will be sent to the phone number provided by the user acknowledging the order made.\n4. Staff and admin can update the status of the user's order.\n   \n### Tech stack\n- Django\n- PostgreSQL\n- Render\n- Amazon S3\n- Docker and docker-compose\n- GitHub Actions\n- Africa's talking\n\n### API documentation\n- [Swagger documentation](https://ecommerce-savannah.onrender.com/api/schema/swagger/)\n\n- [Redoc documentation](https://ecommerce-savannah.onrender.com/api/schema/redoc/)\n\n- [Postman collection](https://www.postman.com/raykipkorir/workspace/public-workspace/request/19883034-99678c5d-b4dd-4fc9-9651-1bb48fc68bb6)\n### Authentication\nUsers can sign up and login using Google or Github\n- [Google Auth url](https://accounts.google.com/o/oauth2/v2/auth?redirect_uri=https://ecommerce-savannah.onrender.com/api/google-callback/\u0026prompt=consent\u0026response_type=code\u0026client_id=611241998884-3vt81edvfbvca97515qrqpha6rghfcqt.apps.googleusercontent.com\u0026scope=openid%20email%20profile\u0026access_type=offline)\n- [Github Auth url](https://github.com/login/oauth/authorize?client_id=b3613d55c08b9555021f\u0026redirect_uri=https://ecommerce-savannah.onrender.com/api/github-callback/\u0026scope=user)\n\n### Database\nConnected PostgreSQL database hosted on Render\n\n[Database design](https://drawsql.app/teams/rays-team/diagrams/ecommerce-savannah)\n\n### Tests\nBackend test coverage - 95%\n\n`coverage run manage.py test`\n\n`coverage report`\n\n### CI/CD\nIntegrated Github Actions\n\n### Deployment\nDeployed on Render -\u003e [Ecommerce Savannah](https://ecommerce-savannah.onrender.com)\n\n# Getting started\n### Installation\n\nClone the repository in your terminal\n```\ngit clone https://github.com/raykipkorir/ecommerce_savannah.git\n```\nNavigate into the repo\n```\ncd ecommerce_savannah\n```\nCreate virtual environment\n```\nvirtualenv venv\n```\nActivate virtual environment\n\n- For windows users\n```\nvenv\\Scripts\\activate\n```\n- For unix based systems\n```\nsource venv/bin/activate\n```\nInstall dependencies\n```\npip install -r requirements.txt\n```\nRun migrations and server\n```\npython manage.py migrate\npython manage.py runserver\n```\n\n## Contributing\nContributions are welcome!\n\n## License\nThis project is available as open source under the terms of the [MIT License](https://opensource.org/license/mit/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraykipkorir%2Fecommerce_savannah","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraykipkorir%2Fecommerce_savannah","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraykipkorir%2Fecommerce_savannah/lists"}