для этого сейчас делаю пет проект. не могли бы вы его посмотреть и дать фидбэк? хочется узнать, стали бы вы брать на работу кого-нибудь с таким проектом, и услышать критику.
                  
                  
                  
                  
                  
                  https://github.com/Competitive-Chatroulette/main-backend
                  
                  
                
А зачем вам свой тип для ошибок? И почему ваш App не использует интерфейсы? И тестов нет
Как грица хорошему коду ни тесты ни документация не нужна
Сырой проект, максимум на джуна взять можно
 Chechen
                          Itza
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Chechen
                          Itza
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Там в контролере нужно понять, какая именно ошибка пришла с репозитория, чтоб вернуть правильный статус код и сообщение. Например, если имэйл уже существует, то нужно вернуть 409 и указать, что именно из-за имейла. Кастомные ошибки в этом помогают, потому что в себе уже хранят статус код и сообщение.
 Chechen
                          Itza
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Chechen
                          Itza
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Про интерфейсы не понял. Какие именно и для чего?
 Chechen
                          Itza
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Chechen
                          Itza
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Понял принял
Не должна ошибка содержать в себе статус код
type App struct { r *mux.Router usrSvc *services.User ctgSvc *services.Category authSvc *services.Auth } Вот все эти usrSvc - это должны быть интерфейсы
 Chechen
                          Itza
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Chechen
                          Itza
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  А зачем? Чтоб можно было иметь разные имплементации сервисов?
Обсуждают сегодня