{"id":18244716,"url":"https://github.com/devdevi/django_rest_framework","last_synced_at":"2025-07-31T13:38:36.236Z","repository":{"id":39840689,"uuid":"220862952","full_name":"devdevi/django_rest_framework","owner":"devdevi","description":"Proyecto platzi django avanzado","archived":false,"fork":false,"pushed_at":"2022-11-22T03:16:44.000Z","size":58,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-14T14:53:28.424Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/devdevi.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}},"created_at":"2019-11-10T23:02:02.000Z","updated_at":"2019-11-11T01:19:28.000Z","dependencies_parsed_at":"2022-09-21T12:43:29.100Z","dependency_job_id":null,"html_url":"https://github.com/devdevi/django_rest_framework","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devdevi%2Fdjango_rest_framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devdevi%2Fdjango_rest_framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devdevi%2Fdjango_rest_framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devdevi%2Fdjango_rest_framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devdevi","download_url":"https://codeload.github.com/devdevi/django_rest_framework/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247909105,"owners_count":21016475,"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":[],"created_at":"2024-11-05T09:17:24.438Z","updated_at":"2025-04-08T18:48:06.407Z","avatar_url":"https://github.com/devdevi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\ndocker build\n\n```\n### cookiecutter\nGenera codigo template y luego puedes basar tu proyecto en algun cookiecutter.\n# Herencia de modelos\nEs lo mismo que la herencia de clases, solo que las clases heredan de django.db.models\nLa herencia de modelos puede ser útil porque podemos tener datos generales que pueden ser heradatos por otras que no necesariamente tienen una tabla, porque queremos que haya herencia de múltiples tablas que se reflejan en la base de datos o porque queremos extender la funcionalidad de un modelo.\n- EXTENDER FUNCIONALIDAD DE UN MODELO\n- **Clases abstractas**:\n```\n   clase meta:\n      abstract = true\n```\nno se refleja en la base de datos\n- **Propiedades meta de cada modelo**\n- **Modelos proxy ***\nLos **PROXY** nos permiten extender la funcionalidad de un modelo sin crear una nueva tabla en la base de datos, a diferencia de los **Abstract models** es que estas solo exponen un molde de atributos y las **proxy** extienden de una tabla ya existente.\n\n\n# Comparte Ride\n\nComparte Ride was a carpooling platform developed on 2016 as\nan alternative for Mexico City inhabitants during an [air pollution\nalert](https://phys.org/news/2016-03-mexico-city-air-pollution.html)\nwhere the car usage was restricted and over 1.1 million cars\nwere banned from the streets.\n\nDuring the environmental contingency a lot of people opted for\ncarpooling within their own communities but most of the information\nabout rides being shared was lost. As an immediate solution, some\nfriends and I decided to build a very simple website (using Django)\nto gather and display information about this rides. The platform\nquickly got some attention:\n\n* [**Public TV interview**](https://www.youtube.com/watch?v=vW3dXpSjVRg)\n* Press articles: [El Financiero](https://www.elfinanciero.com.mx/universidades/alumnos-del-tec-arman-app-de-rides-ante-el-doble-hoy-no-circula.html), [Univision](www.univision.com/noticias/citylab-transporte/restriccion-vehicular-en-mexico-impulsa-a-una-app-para-compartir-viajes), [El Universal](http://www.eluniversal.com.mx/articulo/techbit/2016/04/11/ayuda-reducir-uso-de-autos-con-comparteride), [UNO TV](https://www.unotv.com/noticias/portal/negocios/detalle/ante-problemas-contingencia-ambiental-comparte-ride-031332/)\n* After-math website: [inventivehack.com/comparte-ride](https://inventivehack.com/comparte-ride)\n\nWe believe Comparte Ride's popularity grew so fast because of the fact\nthat groups where private and that the only way to join a group\nwas by getting invited by someone that was already a member.\n\n## This project\n\nI instructed an [advanced course of Django](https://platzi.com/cursos/django-avanzado)\nat [Platzi](https://platzi.com/) where the main goal was to learn\nhow to professionally build a REST API. I choose this project because at the moment I was\nplanning the course a bunch of people reached out to Comparte Ride's inactive social\nnetworks asking what happened to the project, and since it was also a very\nsimple project I thought it was a nice idea that developers from around\nthe globe learned to build an API around it. \n\n## Development\n\nI stopped working for this project after the course finished. You can review\nthe code up to the course progress in the [releases section](https://github.com/pablotrinidad/cride-platzi/releases), it is labeled as **Deployment-bundle.**. You can also check\nthe deployment guide [here](https://gist.github.com/pablotrinidad/004122e721bcdc5bd9f0e535a44c7f7e).\n\nTo start working on this project I highly recommend you to check\n[pydanny's](https://github.com/pydanny) [Django Cookiecutter](https://github.com/pydanny/cookiecutter-django) [documentation](https://cookiecutter-django.readthedocs.io/en/latest/developing-locally-docker.html) on how to get this project up and running locally.\nIf you don't want to do so, just run:\n\n```bash\ndocker-compose -f local.yml build\ndocker-compose -f local.yml up\n```\n\n## Contributing\n\nI'll be happily accepting pull requests from anyone, and if you are a\nPlatzi student **I HIGHLY ENCOURAGE YOU TO CONTRIBUTE!**\n\nThis that are missing right now:\n\n* [ ] Add tests and coverage implementations\n* [ ] Remove weak Token Authorization system\n* [ ] Implement more async and periodic tasks to improve the rating system\n* [ ] A UI!\n\nSuggestions are welcome!\n\nIf this project get enough attention and participation, I'll be happy\nto host it (the UI is required.)\n\n## Want to use this project as yours?\n\nPlease stick to the [**LICENSE**](LICENSE), you can read a TL;DR\n[here](https://tldrlegal.com/license/mit-license).\n\nAgain, this is a project I liked a lot and I will love to see it live\nagain. Feel free to modify, distribute, use privately, etc (READ THE [**LICENSE**](LICENSE)) as\nyou please just include the Copyright and the [**LICENSE**](LICENSE).\n\n## Contributors\n\n- [Pablo Trinidad](https://github.com/pablotrinidad)\n  | CS Student at UNAM's Faculty of Science | \u003cpablotrinidad@ciencias.unam.mx\u003e\n\n```\ncircles = [\n   [\"Facultad de Ciencias, UNAM\",\"unam-fciencias\",1,1,0],\n   [\"Tec de Monterrey, Campos Santa Fé\",\"itesm-csf\",1,1,0],\n   [\"Inventive\",\"inventive\",0,1,30],\n   [\"Platzi Bogotá\",\"platzi-bog\",0,1,120],\n   [\"Platzi México\",\"platzi-mex\",0,1,30],\n   [\"Google México\",\"google-mx\",0,1,250],\n   [\"Curso de Fotografía, UVA\",\"curso-foto-uva\",1,0,25],\n   [\"Equipo de futbol, chapinero\",\"fut-chapinero\",1,0,40],\n   [\"Grupo 3340, Prácticas de campo\",\"grupo-3340-campo\",1,0,50],\n   [\"Generación 2018 Escuela de enfermería\",\"enfermeria-2018\",1,0,0],\n   [\"Facultad de Ingeniería, UNAM\",\"unam-fi\",1,1,0],\n   [\"Facultad de Medicina, UNAM\",\"unam-fm\",1,1,0],\n   [\"Platzi Developer Circle - Bogotá\",\"platzi-dev\",1,0,0],\n   [\"Platzi Developer Circle - CDMX\",\"platzi-dev-mx\",1,0,0],\n   [\"IBM Santa Fé\",\"ibm-santafe\",0,1,0],\n   [\"P\u0026G - Santa Fé\",\"p-n-g\",1,0,1000],\n   [\"Amigos de Centraal\",\"comunidad-centraal\",1,0,0],\n   [\"Central Academy\",\"centraal-academy\",1,1,0],\n   [\"Estado de México - CDMX\",\"edomex\",1,0,0],\n   [\"Satelite - Santa Fé entre semana\",\"sat-sfe-week\",1,0,0],\n   [\"Sable Digital\",\"sable\",0,0,30],\n]\nfor cirlce in circles:\n   name,slug_name,is_public ,verified ,members_limit=cirlce\n   print(f'Processed { name } { slug_name } { is_public } { verified } { members_limit }')\n   Circle.objects.create(\n       name=name,\n       slug_name=slug_name,\n       is_public=is_public,\n       verified=verified,\n       members_limit=members_limit,\n   )\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevdevi%2Fdjango_rest_framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevdevi%2Fdjango_rest_framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevdevi%2Fdjango_rest_framework/lists"}