How to run the application
Frontend -> npm run dev Backend -> npm start
Your choice of technology and the reasons for using them (and any alternatives you considered)
1. Here I Used to develop my website using React, Next.JS, Mongo DB and for picture upload I used firebase as the databases.
2. The reason for using next js rather than express js is powerful routing system, which allows us to define routes for each component separately and then combine them.
3. I used JWT for the user authentication because In short, JWTs are used as a secure way to authenticate users and share information. Typically, a private key, or secret, is used by the issuer to sign the JWT. I used middleware for use the JWT
4. For styling i used tailwind css because Tailwind CSS creates small utilities with a defined set of options enabling easy integration of existing classes.
5. Rather than the other funtionalities I added two new features to the system to edit and delete product items.
6. I also added some toast messages to get the responses from the website.
If you were to spend more time on this task, what would you change and what other key features would you add?
If I get more time i will add the forget password criteria into the login form which will inform the user to their mail address for re enter the new password to the system.