Inspiration

I was inspired by a question in a computer science club officer application. It asked to me to tell how I would increase the publicity of the club. I though that if there was easy to open a fundraiser online and have it be targeted at people in my school, the club would have enough funds to power its own projects, as well as a plethora of members. Through this question, the idea of Grant Master was born.

What it does

Grant Master allows people from the community to post their projects online. Others are able to see their projects, and if they choose to, they can contribute funds to the fundraiser goals. These people can track the fundraiser and the project.

How I built it

I built it using node.js, which is JavaScript centered around making servers. I used the libraries express.js and socket.io to run the server and establish communications between the server and the client. For client side, I used HTML5, CSS3, and JavaScript to create the webpage. I also used jQuery for some animations. All of my code was done on Repl.it, and I used UptimeRobot to keep the server running.

Challenges I ran into

Although, I faced small problems throughout the process, my primary problem was enforcing security. Many coders make the mistake of putting the information the page has to access hidden in the url. For me, this involved keeping the user logged in when moving to a new page. My plan to counter this was creating a One Time Password library that would receive an object, store it in multiple layers of arrays, and send a key. Then, the user could could move to the new page, send the key, and receive the information about the password. I had to deal with many challenges involving socket.io to make otp.js function as I wanted to, but in the end, it worked.

Accomplishments that I'm proud of

This was my first, official, public project that included socket.io, which I have been wanting to do for a long time. I also feel proud of the fact that I got this far just by myself, with no other team members.

What I learned

First and foremost, I learned the advantages and disadvantages of working alone instead of a team. Through this, I have learned more about how I work the best. I also learnt how to apply socket.io into a real life application. I also learned to deal with changing pages while keeping the user logged in. (Look above at challenges.) All in all, this was a very enlightening experience for me.

What's next for Grant Master

Although the core of GrantMaster is finished, there are long ways to go. First, I need to create an actual money transfering system, instead of system were you just type in the number. I also need to update the formating and layout, and perhaps images, by using Bootstrap. Last but not least, I might plan on making a search bar or providing tailored reccomendations, perhaps by using AI. Clearly, Grant Master has a long future ahead of it.

Visit Grant Master: https://tinyurl.com/grant-master

Look at the Code: https://repl.it/@vedprad1/Grant-Master

Share this project:

Updates