Inspiration

Why the heck does every social media platform need to have a separate website? How many web pages is that? LIke, 5?! That's way more than what a normal human can handle, so we set out to make that a little easier.

What it does

As of right now, we were limited to Twitter and Facebook, and as a result of not being granted a Facebook dev account with proper permissions, we were restricted to a user's own posts. Where otherwise it would pull from the user's timeline and public posts, our project presents solely the user's own posts and tweets. It then presents these user statuses in one home screen, organized in chronological order so it is easy and straightforward to view across multiple social media platforms.

How we built it

We built UniSocial with an HTML frontend that pulls from a Python backend that accesses APIs from Twitter and Facebook. The backend pulls information from the APIs, using the user's credentials, and then organizes and standards the data. Finally, a Flask local server acts as an interface between the frontend and backend, allowing GET requests from the frontend so that the backend can POST JSON files containing the needed info.

Challenges we ran into

We had a very difficult time working with the frontend/backend as none of the team has had prior experience with the concept. We were also required to use libraries and APIs that we had never used prior to ZotHacks, such as requests and Flask, which necessitated a large amount of time to research and reading documentation.

Accomplishments that we're proud of

What are we proud of? The fact that it (basically) works! Jokes aside, we interfaced between frontend and backend with a local server, as well as built a visual interface with HTML that sourced data from a Python core structure, which is a first for all of us. Most impressive of all, we efficiently used GitHub without messing up versions and mixing everything up, although the process consisted of lots of Googling and bothering the mentors.

What we learned

We learned a lot. Most notably, we learned the fundamentals of frontend and backend, and how to interface between the two. We became more knowledgeable on how to use APIs, as well as how versatile and restrictive they can be, and how important it is to communicate for version control. Most importantly, we learned how to work in parallel with a team, which is a crucial skill in the workplace and life in general, as well as a hurdle of its own.

What's next for UniSocial

For the future of UniSocial, we hope to expand its capabilities to more social media platforms, such as Instagram, Tumblr, Reddit, Pinterest, etc. Another goal is to introduce more complex and specialized features such as being able to reply and post on the different platforms from UniSocial. One of the biggest goals is to implement user credential authentication via OAuth, so that any user can log in from a service-specific authentication page, such as through Facebook's or Instagram's "sign in with" features, rather than having to use a dev app.

And of course, we hope to make it much prettier ;)

Share this project:

Updates