How did you build it ?
I built this site alone for 4 months while simultaneously learning the ins and outs of Next.js and Tailwind CSS.
The data for the polls were stored in one collection in MongoDB.
I carried out the authentication process by making use of JWT and logging users’ info in a separate collection in MongoDB. It used to work 2 years ago, but now the function just broke.
The hardest part of making this site is also the authentication itself. Sometimes the username doesn’t show on the tab once the user logs in. The moderator will have a page where they can manually remove new entries from the users.
I’ve had success in making those features to some extent.
How did you test your site ? And are there still bugs on your site ?
Similar to Climatology the app, I used Postman to test out the APIs.
There wasn’t a lot of test case to be done for this project as far as I know.
Most of the time I’d just simply test out my design ideas on development server and tinker with CSS.
Why this project is important to you ?
At first I thought about making a clone of Google Trends to deepen my understanding of Tailwind CSS.But I thought it’s merrier to create a rating app where users can upvote things that they think are trendy.
In all seriousness, it’s not personally important to me, but I imagined how entertaining it’d be once the site is fully fledged. Keep in mind that this site is an MVP only.
What are the features that make it unique ? How is it compared to existing products ?
There’s nothing inherently unique about this project, given that I borrowed a huge deal of inspiration from Google Trends and ProductHunt.
Comparing to existing products, I’d say it’s an amalgamation of the leaderboard in search terms from Google Trends and popularity of each product in ProductHunt based on upvotes.
What did the project teach you ?
The project taught me a great deal in Next.js, MongoDB and using Postman to test Next.js’ built in APIs.
Not only that, the project gave me ample amounts of time to familiar oneself with the CSS tool that would eventually become an essential styling tool in my portfolio site.