Don't estimating that some tasks would take small hours or even minutes because you felt that a longer time would feel ridiculous. It's not ridiculous, you need time to work correctly.
Lay out all the different blocks of your program (like "front-end", "back-office", "API", ...)
Then lay out all the features of each component.
My Project (8)
Login (4)
Form (1)
Password recovery (2.5)
Form (0.5)
Email (1)
Password change (0.5)
Signup (3)
Form (1)
Email confirmation (1)
Email confirmation page (0.5)
Identify two things:
** Research before estimating these parts