Проект производственной практики

unknown 26a8d770fa Fix Code fields in README 1 éve
GitImages 2aef2280a8 Test Fix README 1 éve
ProjectBOX 9758783106 Фикс багов с картинками 1 éve
UnitTests 0b3930c3b0 Model окна перемещения предметов покрыт юнит тестами 1 éve
.gitattributes 9568df172a Добавить .gitattributes, .gitignore и README.md. 1 éve
.gitignore 9568df172a Добавить .gitattributes, .gitignore и README.md. 1 éve
ProjectBOX.sln b7935e43e1 Добавление проекта модульных тестов 1 éve
README.md 26a8d770fa Fix Code fields in README 1 éve

README.md

Project BOX

Лого проекта

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

Project BOX - приложение предназначеное для сбора, хранения и обработки информации о вещах хранящихся на предприятии

Приложение включает в себя:

  • Пользовательское дескопное приложение, предназначеное для сбора информации и обеспечения взаимодействия пользователя с ней Десктопное приложение
  • База данных, предназначенная для хранения информации о пользователях и хранимых объектах Схема базы данных приложения

Демо

Демонстрация работы приложения

Демонстрация работы

Страницы приложения по отдельности

  1. Авторизация

    Авторизация
  2. Регистрация

    Регистрация
  3. Окно предметов

    Окно предметов
  4. Окно редактирования-просмотра предмета

    Окно редактирования-просмотра предмета
  5. Окно создания предмета

    Окно создания предмета
  6. Окно создания перемещения

    Окно создания перемещения
  7. Окно создания "контейнера"

    Окно создания

Технологии в проекте

MSSQLServer Лого

Для разработки дектопного приложения использовались:

  • Язык программирования - C#

  • Пользовательский интерфейс - WPF

  • Взаимодействие с базой данных - Entity Framework v6.2

  • Среда разработки - MS Visual Studio

Для разработки базы данных использовались:

  • Язык - T-SQL

  • СУБД - MS SQL Server

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

Приложение постоенно при помощи паттерна проектирования - MVVM (со всеми плюсами и минусами)

Для хранения паролей пользователей используется хэширование стандарта SHA256, что обеспечивает безопасность пользователей от различных угроз связанных с хищением паролей

    using (SHA256 hash = SHA256.Create())
    {
        return Convert.ToHexString(hash.ComputeHash(Encoding.UTF8.GetBytes(CurrentPassword)));
    }

Техническое описание проекта

Установка

  1. Клонировать репозиторий с текущей версией приложения (Ссылка)

    Клонирование через Git bash
  2. Открыть проект в MS Visual studio (Для открытия проекта необходимо открыть .sln файл в склонированной директории)

    Открытый в Visual studio проект
  3. Собрать проект при помощи Visual Studio (Сборка проекта осуществляется при нажатии на cntrl + B)

    Сборка средствами Visual Studio
  4. Готовая версия приложения будет находится по пути директория_проекта\ProjectBOX\bin\Debug\net6.0-windows

    Готовое приложение

Настройка

В случае, если вы хотите использовать свою базу данных для взаимодействия с приложением требуется:

  1. Создать БД с соотвествующей схемой (её можно восстановить исходя из файлов сгенерированных Entity FrameWork)

    Схема базы данных приложения
  2. Заменить строку подключения используемую в приложении (Строка подключения находится в файле ProjectBoxDbContext.cs)

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseSqlServer("Строка подключения");

Место хранения строки подключения

Планы на разработку

  • Авторизация-регистрация
  • Окно списка предметов
  • Окно просмотра-редактирования информации о предмете
  • Окно создания нового предмета
  • Окно создания нового контейнера
  • Окно перемещения предмета между контейнерами
  • Поиск предмета по названию
  • Личный кабинет пользователя
  • Изменение и удаление контейнеров

Автор

  • Vorobiew Kirill - tester and programmer - Meserygamer