Skip to content

Repository files navigation

Find and GO Backend


Описание проекта

Find and Go - это бэкенд-приложение, разработанное выпускниками Яндекс Практикума под руководством наставников. Проект, созданный на основе Django и Django Rest Framework (DRF), призван обеспечить функциональность iOS-приложения. Find and Go является агрегатором каршеринга, предоставляя пользователям удобный доступ к множеству машин от различных компаний.


Функциональности

Регистрация и управление пользователями

  • Регистрация пользователя: Пользователи могут зарегистрироваться, предоставив необходимую информацию.
  • Сброс пароля через электронную почту: Пользователи могут восстановить свой пароль, получив инструкции на электронную почту.
  • Редактирование и удаление пользователя: Авторизованные пользователи имеют возможность изменять свой профиль и удалять свою учетную запись.

Оценки и отзывы

  • Оценки и отзывы для машин: Пользователи могут оценивать и оставлять отзывы для машин, выражая свое мнение о предоставляемых услугах.

Фильтры

  • Фильтр по названию компании каршеринга: Позволяет пользователям легко находить машины, предоставляемые определенной компанией каршеринга.
  • Фильтр по уникальному слагу: Обеспечивает возможность поиска машин по уникальному слагу, включая дополнительные опции, такие как детское кресло, подогрев руля и другие.
  • Фильтр по модели машины: Позволяет пользователям выбирать машины определенной модели.
  • Фильтр по запасу хода: Пользователи могут ограничивать выбор машин в зависимости от необходимого им запаса хода.
  • Фильтр по типу двигателя: Позволяет пользователям фильтровать машины по типу используемого двигателя.
  • Фильтр по координатам: Обеспечивает возможность поиска машин в определенной географической области.
  • Фильтр по типу автомобиля: Позволяет пользователям выбирать машины определенного типа, такие как купе, седан, хэтчбек и другие.

Эти фильтры предоставляют пользователям гибкость в поиске и выборе машин, отвечающих их конкретным потребностям и предпочтениям.

Ранжирование машин

  • Ранжирование машин по координатам: Если пользователь авторизован и запрашивает список машин, то машины ранжируются от наиболее близкой до самой дальней на основе координат.

Аутентификация

  • POST /auth/o/yandex/: Аутентификация через Яндекс.
  • POST /auth/o/mail/: Аутентификация через Mail.
  • POST /auth/token/login: Аутентификация по токену.
Видео превью
IMG_7331.1.mp4
Технологии
  • Python 3.10
  • Django 3.2.3
  • Django REST framework 3.12.4
  • Docker
  • Django
  • django-filter
  • django-oauth-toolkit
  • django-rest-framework-social-oauth2
  • django-rest-swagger
  • djangorestframework
  • djangorestframework-simplejwt
  • djoser
  • drf-spectacular
  • gunicorn
  • Pillow
  • requests
  • nginx
  • CI/CD
Инструкции по установке
Локально
1. Клонируйте репозиторий: ``git clone git@github.com:VlKazmin/car-hub.git``
2. Перейдите в директорию проекта: ```cd find-and-go/backend```
3. Установите зависимости: ```pip install -r requirements.txt```
4. Примените миграции: ```python manage.py migrate```
5. Загрузите фикстуры:``` python manage.py load_fixtures```
6. Запустите сервер: ```python manage.py runserver```
Docker
 **Склонируйте репозиторий и настройте окружение:**
    git clone git@github.com:VlKazmin/Find-and-Go.git
    cd find-and-go/
    # сделайте копию файла <.env.template> в <.env>
    cp -i .env.template .env
 **Запустите приложение с помощью Docker:**
    sudo docker compose -f docker-compose.production.yml up --build -d
    sudo docker compose -f docker-compose.production.yml exec backend python manage.py makemigrations
    sudo docker compose -f docker-compose.production.yml exec backend python manage.py migrate
    sudo docker compose -f docker-compose.production.yml exec backend python manage.py collectstatic
    sudo docker compose -f docker-compose.production.yml exec backend cp -r /app/collected_static/. /backend_static/static/
    # Для заполнения базы ингредиентами выполните:
    sudo docker compose -f docker-compose.production.yml exec backend python manage.py load_fixtures
    # Для создания суперпользователя
    sudo docker compose -f docker-compose.production.yml exec backend python manage.py createsuperuser

Проект будет доступен по адресу - http://localhost:8000/ Документация будет доступен по адресу - http://localhost:8000/api/v1/swagger/


Ссылки

Дизайн в Figma - посмотреть

Изображения

carsharing1 carsharing2 carsharing3 carsharing4 carsharing5 carsharing6 carsharing7 carsharing8 carsharing9

Авторы

backend:

  • Владислав Казьмин - GitHub
  • Марат Шайбаков - GitHub
  • Данил Воронин - GitHub
  • Никита Нестеренко - GitHub
  • Ольга Шполянская - GitHub

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages