Skip to content

Uniges/BugTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web Application, «Bug Tracker»

• ASP.NET Core 3.1, Web API, RESTful, JWT • Entity Framework Core, Code first, PostgreSQL • Clean Architecture •

• Swagger: https://localhost:5001/swagger/ (Alex55 123) •

• Postgre settings: https://github.com/Uniges/BugTracker/blob/master/WebApp/appsettings.json

Прототип системы учета ошибок, обнаруженных в процессе тестирования программного обеспечения.

Пароли хэшируются, тестовые данные и пользователи запишутся в базу при первой попытке обращения к любому из API.

Для работы API необходим JWT токен.

Запуск:

  1. Скачать целиком, открыть в Visual Studio решение с проектами.

  2. Подождать, пока загрузятся все необходимые пакеты.

  3. Подключение настроено для СУБД Postgres. Необходимо прописать актуальные креды и проверить, что базы с таким именем не существует. Пользователей через SQL не добавлять, т.к. пароли хэшируются в коде. База с тестовыми данными создастся автоматически при первом запросе.

  4. Выбрать проект WebApp в режиме Debug, запустить.

Структура решения:

  1. Domain - уровень сущностей приложения

  2. DAL - уровень репозиториев, доступ к данным

  3. Application - уровень сервисов с бизнес логикой

  4. WebApp - верхний уровень с контроллерами, API

Возможности:

/Users/auth - авторизация, получение JWT токена (Alex55 123, Li77 321)

{
    "Login": "Alex55",
    "Password": "123"
}

/Users/edit - редактирование имени и/или фамилии пользователя

{
    "UserId": 1,
    "Name" : "George",
    "LastName": "P"
}

/Bugs/{id} - получить баг по ID

/Bugs - получить все баги

/Bugs/sort - получить все баги, отсортированные по выбранному полю и направлению сортировки

{
    "FieldName": "datE",
    "IsSortByDesc": false
}
public class Bug
{
    public DateTime Date { get; set; }
    public string Title { get; set; }
    public string Description { get; set; }
    public BugStatus Status { get; set; }
    public BugUrgency Urgency { get; set; }
    public BugCriticality Criticality { get; set; }
}

/Bugs/create - создание бага (автоматически создается первая запись в истории, время выставляется автоматически)

{
    "title": "New bug",
    "description": "Some description",
    "urgency": 2,
    "criticality": 1,
    "comment": "Init new bug"
}
public enum BugCriticality
{
    Alarm,
    Critical,
    NonCritical,
    ChangeRequest
}

public enum BugUrgency
{
    High,
    Medium,
    Low,
    None
}

/Bugs/edit - редактирование статуса бага (автоматически создается запись в истории, время автоматически)

{
    "BugId": 1,
    "BugStatus": 1,
    "Comment": "Open the bug"
}
public enum BugStatus
{
    New,
    Opened,
    Fixed,
    Closed
}

public enum BugAction
{
    Input,
    Open,
    Solution,
    Close
}

/Bugs/history/{id} - получение истории бага, отсортированной по дате внесения изменений

Image alt

About

Test task, ASP.NET Core

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages