React JS, React Router, Redux, WP REST API, Tailwind CSS

A Polling Application for Cakes Built Using React JS & Redux

Originally developed for a bakery business located in Germany. This single-page application was a part of their small system that helps the client to manage their business.

What is the main problem?

The main problem that the client wants to fix is that they need a fair decision on what set of cakes they are going to bake every week. So our goal is to build something that can help them decide by letting each staff vote.

How I built the application?

I developed this polling app using React JS by using the create-react-app package. I used the React Router for page routing. Although it looks like a simple application, I still need a good state management package to help me manage the application state. I used the Redux state management package for this. I love using the Redux dev tools, it gives me a good insight into my app’s process and state.

The client is currently using WordPress for their business. So I just need to integrate the custom app into their current platform. Luckily, WordPress support REST API so I used that for the application data. 

I think planning your CSS is still important when it comes to developing your applications and websites. Other than creating custom CSS for some projects, I’m using the Bootstrap CSS framework if I’m building custom websites. But since the Tailwind CSS is becoming popular, I used it for this project.

Feature overview:

  • Polling capability
  • Limited time for polling
  • Sorted results
  • Restricted actions for specific user roles
  • Authentication
  • Mobile-ready

How does the application work?

I designed the application to make it easier to use. I’m always assuming that users that will use the application are not tech-savvy. 

Before the staff can join the poll, a user with an administrator role needs to add a poll, he/she can add duration and a title for the current poll. 

A user with no administrator role can only join a poll or view the poll’s results.

After an administrator adds a poll, this poll is now listed on the Poll’s main menu.

Then the users or the selected staff can now start voting for their preferred cakes in the single poll menu. They can vote for a limited amount of time only. If the time expires, clicking on the heart button and form submission will be disabled. 

Also, there’s a maximum number of cakes that they can select.

The users can view the results by going to the Results page.

Limitations:

  • Some of the administrator actions like adding users and adding cakes are still dependent on WordPress. If the admin needs to add a cake, they need to go to the WP admin to add it. Same for the users, adding new staff need to be performed in the WP admin.
  • No in-app user registration functionality.