feat(categories): implement CRUD for category