Proiectați un messenger: studiați cerințele funcționale, formulați cerințele non-funcționale, alegeți un stack tehnologic, descrieți arhitectura frontend și schema componentelor, interacțiunea cu backend-ul, API și modelele de date, apoi proiectați sistemul.