Приветствуем вас в нашем pet-проекте по управлению семейным бюджетом - InCoin!
InCoin позволяет удобно отслеживать доходы и расходы, планировать бюджет, анализировать финансовые показатели, и многое другое. Благодаря своему интуитивно понятному интерфейсу и разнообразным функциям, оно помогает пользователям принимать более осознанные финансовые решения и достигать финансовых целей.
Это приложение разработано командой выпускников Яндекс.Практикума:
- Project managers
- Backend developer
- Frontend developers
- Quality Assurance (QA) engineers
- UI/UX Designers
- страница "Бюджет"
На главной странице пользователи могут видеть свой текущий баланс, а также визуально представленный спидометр, отражающий соотношение доходов и расходов. Встроенные градации цветов помогут быстро оценить финансовое положение - от зеленого (хорошее) до красного (нужно обратить внимание). - Управление расходами и доходами
InCoin позволяет вам учесть все ваши расходы и доходы. Вы можете быстро добавлять новые транзакции, указывая дату, категорию, сумму и другие детали. Система поддерживает удобный интерфейс и автоматический расчет баланса. - Управление счетами
Вы можете добавлять новые счета или удалять существующие. - Управление категориями
Приложение предоставляет возможность создания категорий для ваших транзакций. Вы можете определить собственные категории или использовать предустановленные. Это позволит более точно анализировать ваши финансы и увидеть, на что уходит больше всего средств. - Повторяющиеся расходы
InCoin предоставляет возможность установить повторяющиеся расходы, например, платежи за аренду или коммунальные услуги. Это упрощает учет регулярных затрат и помогает не упустить важные платежи. - Конверты накоплений
Управляйте накоплениями для достижения ваших финансовых целей с помощью функции конвертов. Создайте конверт, определите желаемую сумму, и приложение будет следить за ходом выполнения цели и эффективным использованием средств. - страница "Статистика"
Приложение предоставляет подробную статистику по доходам и расходам. Графики и диаграммы помогут вам анализировать свои финансовые показатели за разные периоды. - страница "Настройки профиля"
По клику на аватар пользователя в хедере, появляется окно с возможностью перехода в личный кабинет или выхода из приложения. В личном кабинете можно внести следующие изменения:- изменить аватар (для редактирования аватарки откроется дополнительное окно, позволяющее выбрать фотографию на вашем компьютере)
- изменить данные
- сменить пароль
- удалить профиль
- страница "Помощь"
Здесь вы найдете ответы на наиболее часто задаваемые вопросы, которые помогут вам более эффективно использовать наше приложение
В данном разделе предоставлены подробные инструкции по подготовке окружения, развёртыванию проекта и интеграции с Docker для обеспечения более удобной и надежной разработки. Следуйте этим шагам, чтобы успешно запустить приложение.
-
- Poetry (используется для управления зависимостями и пакетами)
- Установка Poetry версии 1.4.0
curl -sSL https://install.python-poetry.org | python - --version 1.4.0
- Добавление Poetry в переменную среды PATH
для Unix:"$HOME/.local/bin"
для Windows:"%APPDATA%\Python\Scripts"
- Установка Poetry версии 1.4.0
- Docker (обеспечивает создание и управление контейнерами)
- Файлы requirements.txt (обновление зависимостей происходит автоматически через pre-commit)
- pre-commit (при каждом коммите выполняются хуки перечисленные в
.pre-commit-config.yaml, если возникла ошибка, запустите хуки вручную:pre-commit run --all-files
)
- Poetry (используется для управления зависимостями и пакетами)
-
Backend
- клонирование репозитория:
git clone https://github.com/InCoinFamily/InCoin.git
- переход в папку проекта:
cd InCoin
- активация виртуального окружения:
poetry shell
- установка необходимых зависимостей:
poetry install
- миграция базы данных:
python manage.py migrate
- установка хуков pre-commit:
pre-commit install --all
- убедитесь, что при запуске используется правильное виртуальное окружение (посмотреть путь):
poetry env info --path
Frontend
- клонирование репозитория:
git clone https://github.com/InCoinFamily/InCoin.git
- переход в папку проекта:
cd InCoin
- переход в папку разработки frontend-части:
cd frontend
- установка необходимых зависимостей:
npm install
- запуск проекта:
npm run start
(приложение будет доступно по адресу http://localhost:3000)
- клонирование репозитория:
-
- перейдите в директорию infra:
cd infra
- создайте файл .env с переменными окружения для работы с базой данных PostgreSQL:
# Доменное имя PRODUCTION_HOSTS=example.org # Указываем, что работаем с postgresql DB_ENGINE=django.db.backends.postgresql # Имя базы данных DB_NAME=fb # Логин для подключения к базе данных POSTGRES_USER=postgres # Пароль для подключения к БД (установите свой) POSTGRES_PASSWORD=postgres # Название сервиса (контейнера) DB_HOST=db # Порт для подключения к БД DB_PORT=5432
- указываем DNS имя сервиса вместо example.org и свой адрес электронной почты:
- в файле init-letsencrypt.sh;
- в файле data/nginx/app.conf
- создайте и запустите сервисы приложения:
docker-compose up
- создайте базу данных:
docker exec -it {имя контейнера БД} /bin/bash
psql -U postgres -c 'create database fb;'
- выполните миграции:
docker-compose exec backend python manage.py migrate
- создайте суперпользователя:
docker-compose exec backend python manage.py createsuperuser
- собирите статику проекта:
docker-compose exec backend python manage.py collectstatic --no-input
- перейдите в директорию infra:
- Backend
- Frontend