GithubHelp home page GithubHelp logo

xandermoroz / share_and_park-app Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 5.54 MB

Веб-сервис краткосрочной аренды парковочных мест на основе Django + Postgis + Nginx + Docker

Home Page: http://51.250.69.82:8000

License: MIT License

Python 13.88% JavaScript 14.81% Shell 0.38% Less 1.38% TypeScript 21.16% HTML 36.73% CSS 11.46% Dockerfile 0.21%
django docker-compose gunicorn-service nginx-server pillow postgis-database

share_and_park-app's Introduction

Share & Park (web app)

Содержание документации

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

Share & Park представляет собой веб-сервис краткосрочной аренды парковочных мест. Благодаря своим функциям сервис выступает в качестве площадки, на которой владельцы парковочных мест могут предложить услуги аренды всем заинтересованным автовладельцам.

Стек технологий

В ходе создания проекта применялись различные инстументы и технологии. Они представлены ниже:

Ubuntu Python Shell_Script Django Postgres HTML5 CSS3 Sass JavaScript TypeScript

Возможности сервиса

ПОИСК ПО КАТАЛОГУ

Каждый пользователь может просматривать каталог парковочных мест других пользователей. Для удобства пользователя предусмотрен поиск по карте, фильтрация по ближайшим станциям метро (отсортированы в алфавитном порядке), стоимости аренды и статусу (готов/не готов к аренде). Также реализован полнотекстовый поиск по адресу парковочного места.

ЛИЧНЫЙ КАБИНЕТ(ЛК)

После авторизации пользователь сервиса получает доступ в личный кабинет, в котором может создавать/редактировать данные своего профиля (ФИО, номер телефона) и привязывать данные банковской карты (Номер карты, срок действия, CVC/CVV).

УПРАВЛЕНИЕ ПАРКОВОЧНЫМИ МЕСТАМИ

В разделе ЛК "Владелец парковки" каждый авторизованный пользователь может создавать/редактировать/удалять парковочные места. При создании парковочного места требуется указать расположение на карте, добавить фотографию и указать остальные данные (адрес, ближайшее метро, стоимость часа аренды, описание и статус парковочного места).

АРЕНДА ПАРКОВОЧНОГО МЕСТА

Выбрав подходящее парковочное место, пользователь может арендовать его. Так информация об аренде попадает в раздел ЛК "Арендатор". После завешения аренды происходит определение стоимости аренды в пересчете на минуты. Так создается банковский чек, содержащий данные об оплате услуги аренды (бенифициар, арендатор, стоимость аренды, время оплаты).

ДЕТАЛИЗАЦИЯ ДОХОДОВ И РАСХОДОВ

На основе данных банковских операций в разделе "Владелец парковки" хранится история пополнения баланса карты за устуги парковки. В соответствии с этим в разделе "Арендатор" хранится история списаний за услуги парковки.

Описание схемы БД

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

Screen Shot

Инструкция по установке

1. Подготовка базы данных

1.1 Обновляете систему, уставливаете и запускаете Postgres

sudo apt update
sudo apt install postgis postgresql-14-postgis-3

1.2 Заходите в аккаунт Postgres, открываете терминал Postgres, уставливаете и запускаете Postgres

sudo -i -u postgres 

psql

1.3 Создаете базу данных, подключаетесь и устанавливаете расширение для полнотекстового поиска (pg_trgm)

CREATE DATABASE parking_prod;

\c parking_prod;

CREATE EXTENSION pg_trgm;

2. Запуск проекта

2.1 Клонируете репозиторий

git clone https://github.com/XanderMoroz/Moscow_Parking.git

2.2 Уставливаете, распаковываете и активируете виртуальное окружение (virtual environment)

pip3 install virtualenv

virtualenv env

. env/bin/activate

2.3 Уставливаете зависимости проекта:

pip install -r requirements.txt

2.4 Переходите в директорию проекта:

cd ShareAndPark

2.5 Создаете и применяете миграции:

python3 -m manage makemigrations

python3 -m manage migrate

2.6 Создаете нового пользователя:

python3 -m manage createsuperuser

2.7 Запускаете проект:

python3 -m manage runserver

Инструкция по развертыванию в Docker контейнере:

  1. Разворачиваете 3 контейнера (Django + Nginx + Postgis):
docker compose up build -d
  1. Заходите через браузер по адресу:
localhost:8000

share_and_park-app's People

Contributors

xandermoroz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.