Сайт для заказа автомобилей на тест-драйв.
Ссылка на гитхаб: https://github.com/Tework123/flask_car_testdrive/
- Flask Веб-фреймворк
- Flask-login Создает сессии и куки
- Flask-SQLAlchemy Позволяет работать с базой данных через python классы и функции
- Flask-migrate Обеспечивает миграции базы данных
- Flask-Mail Отправляет сообщения на почту
- Pytest unit test
- WTForms Проверка введенных данных в поля
- Jinja2 Позволят создавать html шаблоны
- PyJWT Создает jwt токен для использования api
- nginx
- flask(gunicorn)
- db(postgres)
- pgbackups
- certbot
- redis(cash)
- регистрация пользователей
- восстановление пароля по почте
- панель админа для добавления контента
- заказ автомобиля
- отправка сообщений
- api для получение контента
Also:
- unit test api
- кеширование стартовой страницы
Установка:
Создаем новую папку, создаем виртуальное окружение, активируем его.
Подключаем git к папке:
git init
git clone https://github.com/Tework123/flask_car_testdrive.git
Заходим в папку с приложением flask:
cd flask_car_testdrive
cd flask_car_testdrive
Устанавливаем зависимости:
pip install -r requirements.txt
Создаем два .env файла, один в папке с приложением flask, другой в папке с docker-compose.
Заполняем .env файл примерно так:
SQLALCHEMY_DATABASE_URI_POSTGRES = 'postgresql://postgres:password@localhost:5432/name_db'
SQLALCHEMY_DATABASE_URI_POSTGRES_prod = 'postgresql://postgres:password@db:5432/name_db'
SQLALCHEMY_DATABASE_URI_POSTGRES_TEST = 'postgresql://postgres:password@localhost:5432/name_db_test'
POSTGRES_USER = 'postgres'
POSTGRES_PASSWORD = 'password'
POSTGRES_DB = 'name_db'
SECRET_KEY = 'asldkk12kelakfjafkj23jijraijfi23jappweovm1'
MAIL_SERVER = 'smtp.gmail.com'
MAIL_PORT = 587
MAIL_USE_TLS = True
MAIL_USE_SSL = True
MAIL_USERNAME = '[email protected]'
MAIL_PASSWORD = 'sadasdkmvxvvqlwl'
ADMINS = '[email protected]'
ADMIN_LOGIN = '[email protected]'
ADMIN_PASSWORD = 'admin'
REDIS_URL_LOCAL = 'redis://127.0.0.1:6379'
REDIS_URL_server = 'redis://redis:6379'
REDIS_PASSWORD = 'mzxcvm213zmvdsf@k3ll1'
Локально поднимаем postgres, redis.
В папке с flask приложением запускаем локальный сервер:
flask run