working example of CRUD for projects with validation