{"id":18992125,"url":"https://github.com/ecarry/photography_backend","last_synced_at":"2026-05-16T06:39:41.883Z","repository":{"id":134728647,"uuid":"608994107","full_name":"ECarry/Photography_Backend","owner":"ECarry","description":"Photography_Backend is a powerful backend application built with Django and Django REST Framework (DRF) that provides a platform for photographers and artists to showcase their work and manage client information.","archived":false,"fork":false,"pushed_at":"2023-08-26T16:02:20.000Z","size":47,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-26T14:49:36.411Z","etag":null,"topics":["django","django-rest-framework","jwt"],"latest_commit_sha":null,"homepage":"https://api.ecarry.cc/api","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/ECarry.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-03-03T06:33:19.000Z","updated_at":"2025-07-09T13:30:20.000Z","dependencies_parsed_at":"2025-01-01T15:11:34.881Z","dependency_job_id":"d67ae8db-a0fc-419a-ba4d-1eb23705fa56","html_url":"https://github.com/ECarry/Photography_Backend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ECarry/Photography_Backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECarry%2FPhotography_Backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECarry%2FPhotography_Backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECarry%2FPhotography_Backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECarry%2FPhotography_Backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ECarry","download_url":"https://codeload.github.com/ECarry/Photography_Backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ECarry%2FPhotography_Backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33092913,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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","jwt"],"created_at":"2024-11-08T17:16:31.860Z","updated_at":"2026-05-16T06:39:41.866Z","avatar_url":"https://github.com/ECarry.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Photography Backend\n\nPhotography Backend is a RESTful API server built using the Django Rest Framework (DRF) and token-based authentication using JSON Web Tokens (JWTs). It provides endpoints for managing users, photos, and categories.\n\n## Features\n\n- User authentication and registration using JWTs\n- CRUD endpoints for managing users, photos, and categories\n- Pagination and filtering options for endpoints\n- Support for media files (uploaded photos)\n\n## Technologies Used\n\n- Django\n- Django Rest Framework\n- MySQL\n- JSON Web Tokens (JWTs)\n- uWSGI and Nginx (for production deployment)\n\n## Installation and Setup\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/ECarry/Photography_Backend.git\n```\n\n2. Install the dependencies:\n\n```bash\npip install -r requirements.txt\n```\n\n3. Create a MySQL database and update the DATABASES setting in settings.py:\n\n```python\nDATABASES = {\n    'default': {\n        'ENGINE': 'django.db.backends.postgresql',\n        'NAME': '\u003cyour-database-name\u003e',\n        'USER': '\u003cyour-database-user\u003e',\n        'PASSWORD': '\u003cyour-database-password\u003e',\n        'HOST': '\u003cyour-database-host\u003e',\n        'PORT': '\u003cyour-database-port\u003e',\n    }\n}\n```\n\n4. Run database migrations:\n\n```bash\npython manage.py migrate\n```\n\n5. Create a superuser account:\n\n```bash\npython manage.py createsuperuser\n```\n\n6. Start the development server:\n\n```bash\npython manage.py runserver\n```\n\n7. Access the API at http://localhost:8000/api/.\n\n## API Endpoints\n\n### Authentication\n\n- POST `/api/token/`: obtain a JWT token by providing valid credentials\n- POST `/api/token/refresh/`: refresh a JWT token\n\n\n### Photos\n- GET `/api/photos/`: retrieve a list of photos\n- POST `/api/photos/`: upload a new photo\n- GET `/api/photos/{id}/`: retrieve a single photo by ID\n- PUT `/api/photos/{id}/`: update a single photo by ID\n- DELETE `/api/photos/{id}/`: delete a single photo by ID\n\n### Categories\n- GET `/api/category/`: retrieve a list of categories\n- POST `/api/category/`: create a new category\n- GET `/api/category/{id}/`: retrieve a single category by ID\n- PUT `/api/category/{id}/`: update a single category by ID\n- DELETE `/api/category/{id}/`: delete a single category by ID\n\n## Deployment\n\nTo deploy the application in a production environment, follow these steps:\n\n1. Install uWSGI and Nginx on your server.\n2. Configure Nginx to proxy requests to the uWSGI server.\n3. Update the ALLOWED_HOSTS setting in settings.py to include your server's domain name.\n4. Collect static files using python manage.py collectstatic.\n5. Start the uWSGI server with the following command:\n```bash\nuwsgi --http :8000 --module \u003cpath-to-uwsgi-config-file\u003e\n```\n\n## Contributing\n\nContributions to the project are welcome. If you find a bug or have a feature request, please create an issue on the repository. If you would like to contribute code, please create a pull request and include a detailed description of your changes.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fecarry%2Fphotography_backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fecarry%2Fphotography_backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fecarry%2Fphotography_backend/lists"}