TODO: general projects and components listed, add the unique constraint to the models validation