Inspiration
The main inspiration for this idea came to us when we realized that the school clubs did not have any online presence, and thus did not have a way to grow and become more popular amongst high schoolers, except through boring school meetings that only happen twice a month. We also noticed that high school students will love anything in a social media format, thus we combined these ideas together and made a social media website for school clubs. Introducing Connectify, a social media website for high school students.
What it does
This website uses advanced SQL database systems and a Python Django framework to allow users to create accounts in our system, and create and post blogs, texts, images, videos, and more to our feed page. And users can interact with posts by liking or commenting on them. Users can interact with others by viewing their friends' profiles and personalizing their own profiles by changing their username, display picture, bio, and any other publicly visible details. They also have the option to edit or delete their posts at any time. Several other features to enhance the experience include blogs, suggested news, and our chatbot. Our blogs allow for users to post tutorials and their experiences in school, our suggested news uses an API to retrieve and displays links that redirect the user to the news at the time, and our chatbot assists the user with anything they need assistance with.
How we built it
We developed the website using Django, a high-level Python web framework that provided us with efficient tools to create a robust and scalable platform. Python was used to code the backend logic of each webpage, such as the login system, posting content, commenting, and more. After completing the development phase, we hosted the website on Heroku, a cloud-based platform that allowed us to deploy and manage the website for free. By using these technologies, we were able to create a highly functional and reliable platform that met the needs of our target audience. In addition to this, we used several APIs throughout the website, such as Cloudinary, an image/video handling API, to help manage all the content that users uploaded. In addition, we utilized a Chatbot API known as Tidio that provides real-time support to users who seek aid.
Challenges we ran into
One of the most difficult challenges that we faced was designing the front end of the website in a way that showed the user-uploaded images and videos in a uniform way. The reason this was difficult is that users can often upload images/videos of any size or resolution, thus it was difficult to maintain their picture quality and dimensions while showcasing all of them in a uniform way on the platform. Another difficult challenge that we ran into was working on the project in real time with each other. The reason this was difficult is that we ran into several time-consuming setup errors at first with Heroku and Github, and often times it was difficult to merge our code without errors. We tried several ways of sharing code before finally setting up a system within Heroku and Git that worked well. One last issue that we ran into was the fact that we attempted to structure the Models.py section of our website (the database) in a way that separated the posts from the users. This was an odd way of building the website, and it became increasingly harder as the development process went on, to attempt and connect the databases in Views.py, up to the point that it was taking hours' worth of work at a time. Thus, we went back to the core of the database and learned how to use the concept of ForeignKey within our database to associate 2 separate categories, such as Posts, and Users, together. Once this change was made, it became exponentially easier to continue coding, as our Django database automatically associated each post with a username every time someone decided to post something to their account.
Accomplishments that we're proud of
Some major accomplishments or milestones that we were proud of during our development of the web app were when users were able to create and edit their own accounts, when one was able to post and instantly see their creation on the feed page along with posts from other accounts, and the positive feedback received from families and students alike when we presented our finished project to them. Because tackling and finishing such an ambitious project in a short span of time was a large accomplishment in itself because we had to be strategic about what features to include and what to eliminate as it would take too much time. The milestone of users being able to create and edit their accounts with profile pictures and a bio was certainly a milestone because it was the first significant element of a social media website as it allowed different members to personalize their presence on the website and showed signs of different technical aspects, including SQL and Django's own authentication system working. And the accomplishment of users being able to click the post button, and being able to see that instantly in the feed page along with other posts was also a critical milestone as it showed the first sign of being able to interact with other users on the website because one could post and see posts of others who were using the website across the world, which we were exceedingly proud of.
What we learned
Through the process of building Connectify, we the most crucial aspect that we learned was how providing our website prototypes for other people to utilize is an incredibly helpful tool in the development process, as when we were coding, we would often forget about ensuring the comfort of the user. Thus, receiving negative user feedback was crucial as it would help us to correct our User Interface and make it more intuitive. We also learned how to properly structure databases early on, as if they are left unchecked, then it can lead to exceedingly harder problems later on down the development path. We also learned about smaller details in several crucial aspects of web development such as APIs and content management which will be incredibly valuable in future web development projects.
What's next for Connectify
Despite having a fully functional social media website currently, we believe there is still a lot to do and improve for the future. In the future, we would like to develop our website into a working app to open the market to phone users, so it'll be easier to create and interact with posts. Additionally, other essential features we would like to add so users can better interact with each other on the website include a direct messaging service that would allow users to send private messages to each other so students can better communicate online or on their phones in the future. And so that users can follow and accept follow requests from other users. When this is possible, we will add the option to make a user's feed restricted to their followers. This will be a significant milestone for Connectify in the future because it will allow students to build their own unique communities and friends online, characterized by the type of accounts they follow and overlap, and the posts they share in common with their followers.
Log in or sign up for Devpost to join the conversation.