{"id":22797451,"url":"https://github.com/roluochke/inheritanceapi","last_synced_at":"2026-05-06T22:06:12.033Z","repository":{"id":223539965,"uuid":"760670823","full_name":"rOluochKe/inheritanceapi","owner":"rOluochKe","description":"The Inheritance Catalog App Backend API is responsible for managing the storage, retrieval, and categorization of item data for the mobile application feature.","archived":false,"fork":false,"pushed_at":"2024-02-27T12:01:37.000Z","size":4836,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-05T21:00:58.894Z","etag":null,"topics":["django","django-rest-framework","postgresql","python","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/rOluochKe.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}},"created_at":"2024-02-20T18:09:26.000Z","updated_at":"2024-02-22T03:48:21.000Z","dependencies_parsed_at":"2024-02-27T13:27:23.884Z","dependency_job_id":null,"html_url":"https://github.com/rOluochKe/inheritanceapi","commit_stats":null,"previous_names":["roluochke/inheritanceapi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rOluochKe%2Finheritanceapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rOluochKe%2Finheritanceapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rOluochKe%2Finheritanceapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rOluochKe%2Finheritanceapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rOluochKe","download_url":"https://codeload.github.com/rOluochKe/inheritanceapi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246362375,"owners_count":20765085,"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","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","postgresql","python","rest-api"],"created_at":"2024-12-12T06:06:07.846Z","updated_at":"2026-05-06T22:06:07.000Z","avatar_url":"https://github.com/rOluochKe.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Inheritance Catalog App - Backend API\n\nThe Inheritance Catalog App Backend API is responsible for managing the storage, retrieval, and categorization of item data for the mobile application feature. It provides RESTful endpoints for creating, reading, updating, and deleting item information, as well as supporting functionalities such as user authentication and authorization. This document outlines the configuration and usage of the backend API.\n\n## Installation and Setup\n\n1. Clone the repository:\n```\ngit clone git@github.com:rOluochKe/inheritanceapi.git\n```\n\n2. Navigate to the project directory:\n```\ncd inheritanceapi\n```\n\n3. Create virtual environment:\n```\npython -m venv myenv\nsource myenv/Scripts/Activate -\u003e Windows\nsource myenv/bin/activate Unix/MacOS\n```\n\n4. Create virtual environments:\n```\n.env file, use .env.example as guide for the required variables\n```\n\n5. Configure your database:\n```\nUsing postgresql for this API\n```\n\n6. Install packages:\n```\nRun: pip install -r requirements.txt (From the root directory)\n```\n\n7. Run Migration:\n```\nRun: python manage.py migrate and create superuser Run: python manage.py createsuperuser\n```\n\n8. Run App:\n```\nRun: python manage.py runserver and visit http://localhost:8000/admin/ and http://localhost:8000/api/v1/\n```\n\n## API Endpoints\n\nThe backend API provides the following endpoints for interacting with item data:\n\n- POST /api/v1/items/: Create a new item.\n- GET /api/v1/items/: Retrieve a list of all items.\n- GET /api/v1/items/:id/: Retrieve a specific item by ID.\n- PUT /api/v1/items/:id/: Update an existing item.\n- DELETE /api/v1/items/:id/: Delete an item by ID.\n\nThe API also provides endpoints for user authentication:\n\n- POST /api/v1/users/register/: Register a new user.\n- POST /api/v1/users/login/: Log in an existing user and generate an authentication token.\n\nThe backend API provides the following endpoints for interacting with category data:\n\n- POST /api/v1/categories/: Create a new category.\n- GET /api/v1/categories/: Retrieve a list of all categories.\n- GET /api/v1/categories/:id/: Retrieve a specific category by ID.\n- PUT /api/v1/categories/:id/: Update an existing category.\n- DELETE /api/v1/categories/:id/: Delete an creating by ID.\n\n## Technologies Used\n\n- Python: Runtime environment for executing Django code.\n- Django: Web application framework for building the backend server.\n- PostgreSQL: SQL database for storing item, category and user data.\n- JWT (JSON Web Tokens): Used for user authentication and authorization.\n\n## Data Models\n\n1. Item Model:\n\n````\n{\n  name: String,\n  description: String,\n  sentimental_value: Number,\n  monetary_value: Number,\n  location: String,\n  ownership_status: String,\n  desired_disposition: String,\n  category: number,\n  user: number,\n  images: [String]\n}\n```\n\n2. User Model:\n\n````\n{\n    email: string,\n    first_name: string,\n    last_name: string,\n    location: string,\n    password: string,\n    phone_number: string,\n    date_of_birth: datetime,\n    profile_picture: object,\n}\n```\n\n\n3. Category Model:\n\n```\n{\n    name: string,\n    description: string,\n}\n```\n\n\n\n## Security\n\n- User passwords are hashed using hashed before being stored in the database to ensure security.\n- JSON Web Tokens (JWT) are used for user authentication and authorization, with a secret key for token validation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froluochke%2Finheritanceapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froluochke%2Finheritanceapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froluochke%2Finheritanceapi/lists"}