Website On Demand
Our project actually consists of two parts, with one common goal:
- A web application, http://websiteondemand.herokuapp.com/, where users may fill in fields to create a personal website
- A Discord bot, testable on this server: https://discord.gg/sFpXdgB, where users can create a personal website with one command.
As a first year Computer Science student, one of the things I wanted to do for myself was create a simple website where I can showcase my GitHub, resume, and LinkedIn profile. I was successful at this, but found that many of my colleagues didn't have the time to learn the fundamentals of front-end web design, since that isn't what they wanted to go into. Nonetheless, I still believe having a website is important in having a competitive advantage against other potential job seekers, and thus I wanted to make the process as simple as possible.
What it does
Users may either visit the website or the Discord server to make themselves their own personal website. Such includes an image they can choose, their name, school, GitHub profile, resume, LinkedIn, and proper metadata for SEO (search engine optimization).
How I built it
I used Flask for the web application, whereby I had a template for the user's website, and used a form to fill in the fields with their custom information. A python script then creates the HTML file and zips it with a pre-made CSS file for styling, and the user then has the opportunity to preview their website and download the zip file.
The Discord bot was written using the Discord.py library, and uses a slightly different approach to getting the user information, whereby users enter the information using the ~make command. Nonetheless, a similar process is completed, where the information is fed into the template and a zip file of the website is sent to the user.
Challenges I ran into
One challenge was getting the icons to look good, and required some minor tweaking. Moreover, it was difficult figuring out how to link all of the dynamically generated static files via Flask's peculiar routing system, and required a different approach compared to the Discord bot.
Accomplishments that I'm proud of
I'm proud of the overall look and feel of the completed web app and user web template. I'm happy at how smoothly both products work, and how useful they can be to many students who aren't interested in learning front end design.
What's next for Website On Demand
In the future, I would like to include various different templates, and make the design process more modular, giving users more freedom in how they want the website to look and feel.