{"id":23792225,"url":"https://github.com/juliusmarkwei/ecommerce-server","last_synced_at":"2025-07-30T21:35:48.810Z","repository":{"id":209794960,"uuid":"720730144","full_name":"juliusmarkwei/ecommerce-server","owner":"juliusmarkwei","description":"the backend of an ecommerce site with various funtionalities","archived":false,"fork":false,"pushed_at":"2024-03-05T15:15:04.000Z","size":7335,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T01:26:00.201Z","etag":null,"topics":["api","authentication","axios","backend","django","drf","ecommerce","jwt","permissions","rest-api","tests"],"latest_commit_sha":null,"homepage":"https://ecommerce-backendapi.vercel.app/","language":"JavaScript","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/juliusmarkwei.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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-19T12:28:43.000Z","updated_at":"2024-11-11T18:18:52.000Z","dependencies_parsed_at":"2024-03-05T16:32:36.729Z","dependency_job_id":null,"html_url":"https://github.com/juliusmarkwei/ecommerce-server","commit_stats":null,"previous_names":["juliusmarkwei/ecommerce-backend","juliusmarkwei/ecommerce-server"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/juliusmarkwei/ecommerce-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliusmarkwei%2Fecommerce-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliusmarkwei%2Fecommerce-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliusmarkwei%2Fecommerce-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliusmarkwei%2Fecommerce-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juliusmarkwei","download_url":"https://codeload.github.com/juliusmarkwei/ecommerce-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliusmarkwei%2Fecommerce-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267945367,"owners_count":24170218,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["api","authentication","axios","backend","django","drf","ecommerce","jwt","permissions","rest-api","tests"],"created_at":"2025-01-01T18:28:58.315Z","updated_at":"2025-07-30T21:35:48.798Z","avatar_url":"https://github.com/juliusmarkwei.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ecommerce Backend build with Django Rest Framework\n\n\u003ca href=\"https://www.django-rest-framework.org/\" target=\"_blank\"\u003e\n    \u003cimg src=\"./assets/others/django drf logo.png\" height=150px width=100% \u003e\n\u003c/a\u003e\n\n## A fully functional Ecommerce - Django Rest API project build and tested with \u003ca href=\"https://www.django-rest-framework.org/\" target=\"_blank\"\u003erestframework\u003c/a\u003e and deployed to \u003ca href=\"https://vercel.com/\" target=\"_blank\"\u003evercel\u003c/a\u003e\n\nThe project was inspired by a random database schema of an ecommerce website I found on \u003ca href=\"https://azimutt.app/gallery/e-commerce\"\u003eAzimutt gallery\u003c/a\u003e. Every piece of this project required alot of time and research since it was one of my beginner projects build with django. The activities involved in this project are as follows:\n\n1. Database model (table) development and configurations\n2. Writing the various API views for all the neccessary methods of each view\n3. Admin panel management configurations.\n4. Adding all the neccesary URL endpoints to for all the various views and thier methods. Not forgetting the admin panel too.\n5. Writing tests for all the views and thier methods. I also used Postman for testing as well.\n5. Including a \u003ca href=\"https://ecommerce-backendapi.vercel.app/\" target=\"_blank\"\u003edocumentation\u003c/a\u003e for the project through a python module called \u003ca href=\"https://pypi.org/project/openapi3/\" target=\"_blank\"\u003edrf-yash\u003c/a\u003e by \u003ca href=\"https://www.openapis.org/\" target=\"_blank\"\u003eOpenAPI Initiative\u003c/a\u003e.\n5. Dockerized the Django Rest API whci I was able to successfully run on my local machine.\n6. Deploy the Django REST API to \u003ca href=\"https://vercel.com/\" target=\"_blank\"\u003evercel\u003c/a\u003e\n\n\n## Images of the WebAPI\n\n\u003ca href=\"https://ecommerce-backendapi.vercel.app/\" target=\"_blank\" title=\"Visit live\"\u003e\n    \u003cimg src=\"./assets/others/Screenshot_api_first.png\" \u003e\n    \u003cimg src=\"./assets/others/Screenshot_api_second.png\" \u003e\n\u003c/a\u003e\n\n## Prerequisites\n```\n    python3.10\n    django\n    djanfo-restframework\n    docker (*optional)\n```\n\n## Installation\n1. #### Clone this repository\n```\n    git clone https://github.com/juliusmarkwei/ecommerce-backend.git\n    cd ecommerce-backend/\n```\n2. #### Install all the neccessary packages/dependencies\n```\n    pip install -r requirements.txt\n```\n3. In the root directory of the project, create a superuser to manage all the users of the application. be sure python is installed before you proceed with this stage.\n```\n    python3 manage createsuperuser\n```\n4. #### Run the program with the following command\n```\n    python3 manage runserver\n```\n\n## Run the program using \u003ca href=\"https://www.docker.com/\" target=\"_blank\"\u003eDocker\u003c/a\u003e \nDocker and Docker Compose should be installed on your system. For Docker installation guide: \u003ca href=\"https://docs.docker.com/get-docker/\" target=\"_blank\"\u003eGet Docker\u003c/a\u003e and \u003ca href=\"https://docs.docker.com/compose/install/\" target=\"_blank\"\u003eInstall Docker Compose\u003c/a\u003e. Steps to run the application:\n\n1. #### Clone the Repository\n```\n    git clone https://github.com/juliusmarkwei/ecommerce-backend.git\n    cd ecommerce-backend/\n```\n2. #### Environment Variables\n* Create a \u003cstrong\u003e`.env`\u003c/strong\u003e preferrably in \u003cstrong\u003e/main/settings/\u003c/strong\u003e. Inside the \u003cstrong\u003e.env\u003c/strong\u003e add a SECRET_KEY and your database configurations of the database of your choice. You can generate a \u003cstrong\u003e`SECRET_KEY`\u003c/strong\u003e using the following code snippet:\n```\n    from django.core.management.utils import get_random_secret_key\n    print(get_random_secret_key())\n```\n\n* Add the following line printed above to the \u003cstrong\u003e`.env`\u003c/strong\u003e file:\n```\n    SECRET_KEY=your_secret_key_here\n    DB_HOST=your_db_host\n    DB_USER=your_db_user\n    DB_PASSWORD=your_db_password\n    DB_NAME=your_db_name\n    DB_PORT=your_db_port\n    DB_ENGINE=your_db_engine\n```\n3. #### Build and Run with Docker Compose\n```\n    docker-compose up --build\n```\n* This command builds the Docker image starts the containers as defined in the docker-compose.yml file.\n\n4. #### Access the Application\n* Once the application (container) is running, access the application running on port 8000 via http://localhost:8000.\n\n5. #### Additional Commands\n* Stopping the application: \u003cstrong\u003e`docker-compose down`\u003c/strong\u003e\n* Rebuilding the application after changes: \u003cstrong\u003e`docker-compose up --build`\u003c/strong\u003e\n\n## Get Involved\n\nWe welcome contributions and participation from the community to help make this e-commerce backend API even better! Whether you're looking to fix bugs, add new features, or improve documentation, your help is greatly appreciated. Here's how you can get involved:\n\n### Reporting Issues 🚩\nIf you encounter any bugs or issues, please report them using the \u003ca href=\"https://github.com/juliusmarkwei/ecommerce-backend/issues\"\u003e Issues\u003c/a\u003e section of my GitHub repository. When reporting issues, please include:\n\n* A clear and descriptive title.\n* A detailed description of the problem, including steps to reproduce it.\n* Any relevant logs or error messages.\nYour environment details (e.g., Django version, DRF version, database, etc.).\n\n\n### Contributing Code 💁🏼\nI love receiving pull requests from the community! If you have an improvement or a new feature you'd like to add, please feel free to do so 👍\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliusmarkwei%2Fecommerce-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuliusmarkwei%2Fecommerce-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliusmarkwei%2Fecommerce-server/lists"}