Hello,
I started coding in June 2018, I spent a lot of time on courses (Udemy) and finally started developing for a personal project based on multiple repos on github and courses I took.
I just finished this authentication boilerplate with email verification and password reset features. It took me a lot of time and a lot of refactor to get to this point and I never asked for help or feedback.
Repo : GitHub - flaviuse/mern-authentication: MERN stack authentication boilerplate: password reset, email verification, server sessions, redux, typescript, hooks and docker for dev and prod. . (Star if you liked it, it will help me a lot)
Demo : https://mern-auth-client.herokuapp.com/ .
That’s why i’d love to have your feedback on the code. Do you think I can use it for a real startup project (it’s the reason why I started coding)?
The server and client are independent and need two different heroku apps to work.
Backend : I used Nodejs, express with sessions stored in mongoDB, authentification with passport local and bcrypt, Joi for input validation.
Frontend: React/Redux, Semantic UI and Bootstrap, Google Recaptcha, notification with toastify, SendGrid for emails and Joi for input validation. I should have done custom css but I haven’t taken the time to do it yet.
The improvements I thought of :
- Coding test.
- Custom CSS.
- Type checking with proptype for react components.
- Real Profile/ Home Page.
Give me feedback about anything you want ! My goal is professional grade app.
Do you think I should try to get an internship right now to learn about professional programming or continue working on this project ? My goal is to have a website secure enough to launch a MVP for my startup.
EDIT : Edit: APP load only on root “/” can’t load from any other path. I think it’s the buildpack
EDIT 2 : Some email box block the emails from coming (gmail is working, hotmail don’t). If you don’t receive the email within 2 min try another email box.
EDIT 3: Someone asked me how I learned during that time :
I took some scientific programming in engineering school courses before going on web dev so I had basis. It helped me to understand. It may take longer if you start from scratch
can you share with me what classes you took?
COURSES I TOOK(NEVER PAID FULL PRICE ON THEM):
html css : https://www.udemy.com/design-and-develop-a-killer-website-with-html5-and-css3/
JS: https://www.udemy.com/modern-javascript/
Node : https://www.udemy.com/nodejs-master-class/
React : Mastering React 16
Redux: ui.dev | JavaScript, but fun.
YOUTUBE
GITHUB
A lot of youtubes videos, if you want to do a feature first check if there is a youtube tutorial. But do not start by watching it. Take the code on github and try to understand what’s going on. Use documentation from dependencies each time you don’t understand something and you will start to have a better understanding.
General coding videos on boilerplates/how to organise projects code …
I like to search for projects on github, google and articles that use the features I want to implement, it will inspire you. Just check if they are not outdated.
Search for a complex project you want to made that will drive you to learn, if you don’t have a goal it will be very difficult.
And your general schedule for learning code and what you spent more time learning ?
I started with the udemy courses and it really depends on the individual. The first months it was very difficult because there is a ton of new things to learn. I was quickly tired because our brain doesn’t like to learn new things. The more I knew, the easier it was for me to spend time coding.
I’m in a gap year so I’m lucky not to have a constraining schedule, I can’t give accurate advise on this. But the most efficient way is to transform code into an habit. (Read the book : The Power of habits)
Do not try to force yourself to code 4 hours a day every day if you feel you are forcing yourself to do so. Prefer shorter durations at the beginning but code a little more every day. Then 4 hours a day seems fine to me. Today I can code 6 hours a day before I feel really intellectually tired.
For me following tutorials was easy, because you can follow them without really thinking about what you are doing. Don’t do that, try to really understand what you are doing.
AND MOST IMPORTANT BE CURIOUS !