🌐 Domain Name: https://civil-education.tech/
People need a safe and positive environment. With so much bullying and hatred in the real world, people often look online to relax, only to be bombarded with the same thing. Our full stack application aims to change that, by creating a platform where people can share ideas through posts, blogs, and comments.
🚧 What It Does
This is an application which allows people to share ideas and knowledge through posts, blogs, and comments. It has the following working functionalities:
- Writing and Viewing Posts
- Writing and Viewing Blogs
- Liking Blogs
- Commenting on Posts
- Viewing Comments
- Sorting Blogs by Likes
👨🏾💻 How We Built It
The backend used many different technologies:
markdown2htmlto convert markdown to html. Many people understand markdown better than html, so we decided to allow users to style posts and blogs in markdown.
replit.dbfor the database (we were going to use
CockroachDB, but ended up using
replit.dbdue to some technical issues).
flaskas it was an easy framework to make an API in.
Coherefor the NLP part of our application. NLP is key to a better environment as it offers a toolkit better than AI. Using
Cohere’s easy to learn API, we implemented a text sentiment detector to block any negativity site wide. We also never included dislikes, to maximize positivity on the site.
Cohere’s API really helped us out with NLP. For the dataset, we used a public twitter sentiment dataset.
To the frontend, to interact with users more, we added comments for posts and likes for blogs. We used
React to build it and vanilla
CSS for styles. 2 main libraries that were used included
Interplanetary File System (or
IPFS was used for storing images, such as avatars of users.
Coil's web monetization service was used to give back to people who post. Many people can write blogs and chat in the comments with others, spreading information, while never getting compensation.
Coil helped these authors get compensation by having an easy way to pay them. Finally, we loved using
React for the frontend. The whole app ran on
React, and using the framework was a lot of fun.
❌ How our features can change the world
Interactivity between Users
Comments are extremely crucial in an application because it allows Users to communicate face to face with others. It allows people to respond to others in a more direct way online which is extremely helpful online.
Having NLP can be crucial for asking questions. Natural Language Processing Eliminates negative speech in comments. This negativity can be damaging for people who want to ask questions about various topics. Knowing that the replier of your comment cannot post negative comments is really crucial because it allows you to ask questions. Whether you ask about social issues or educational topics, you know that the person cannot rely on anything negative meaning that there will always be a net benefit in asking.
Filtering Out Negativity
Eliminating negativity is also crucial. If someone is trying to make a post on our website, they will likely do it with the intention that they are curious and want to learn more about a topic. Having a negative response just ruins the whole point. That is why Natural Language Processing is crucial because we can stop Hate speech, Racism, and other types of negativity from ever surfacing. This problem is seen a lot in other Social Media platforms where some even encourage violence on real scales. We do not want that happening to our users. Experiencing hate speech and other forms of negativity can be really harmful especially because it may increase anxiety or affect your exam studying in other ways
Google Meet Links
Having a way to talk online with others about these topics increases accountability especially in study sessions. When you know that people around you are studying for a similar exam and that you have one too, it will decrease the chance of you being distracted and increase the amount of time you prepare for that hard exam. They can also help you learn from your mistakes and their mistakes in study groups for overall benefit for the whole group. One study found that a study group could help solidify and clarify course materials, leading to more promising classroom experiences, and potentially a better GPA. By understanding the subject and feeling motivated, students may feel more willing to do better in class, and exams and on assignments.
Google Meets are also helpful for learning. At a time where in-person barriers are somewhat high and online barriers are low, the ability to interact with people online is crucially needed. People can send experts and teachers on our platform
Google Meet Links so that the users can get knowledge on the topics they need for that test they need to ace. The experts can also calm the person known reducing their anxiety or give them study tips for the future
Rating System for Posts
A rating system is extremely crucial. If a person sees that a blog has interesting, accurate and overall good information, they can like the blog. Due to our like ordering system, we can make sure that credible and authentic blogs can be shown on the top. Not only can this decrease the overall flow of misinformation through community management but it will also increase the chance that people who write authentic and reliable posts are recognized.
👷 Challenges We Ran Into
The application was quite a big task to code, and after all of us coded the entire day, we finally finished! There were a lot of bugs, but we ended up debugging most of them quickly. In the beginning, we ran into some problems with our navbar, but we got it fixed later through slowly commenting code out to see where the problem was located. We later had some difficulty choosing a landing page, but we got that fixed and made it look clean. The blogs and posts were also problematic, as
CORS and database errors were preventing proper testing of the application. After a lot of problem solving, we were able to bring the application to life, with no issues.
🎉 Accomplishments That We're Proud Of
We actually finished the application with all functionalities...woo hoo 🥳! On top of that, we are extremely proud of our app. Not only did we use web 3 technologies, we also integrated web 2 such as
Google Meet Links. We also completed the whole application that we thought of making this
Figma with actual code. This was a great accomplishment for us. We used many new libraries, such as Cohere and Coil, overall enjoying this hackathon very much. For more information on what new libraries we are proud of using, refer to
👨🏾💻 How We Built It.
📙 What We Learned
This hackathon was a great for us in terms of learning. We learned how to work together with others at different skills levels, how to use
Markdown effectively, and how to use
TailwindCSS plugins in ways we had never imagined. We also learned about UI design which was crucial to making our brilliant application We learn how to connect crypto wallets as a way of secure authentication. We also learned how to create a
Google Meet quickly, including that in our posts page. For the blogs, we learned how to have a comments section, and also learned how to use 6 different blockchain wallet providers, all being sign in options. Finally, we learned how to use
Cohere's amazing NLP library.
🔜 What's Next For Civil Education
- Better UI Styles
- More Features to Sort By
- Backend API Using Blockchain Libraries
Log in or sign up for Devpost to join the conversation.