Git repo: https://github.com/logandeal/encyclofreedia

Inspiration

Our inspiration for this year's topic came from the original awe and wonder of the world wide internet. "Back in the day," many were excited about the internet as a place for open and honest collaboration among anyone who wanted to get involved. However, modern online communities are highly concentrated in spaces where users have little control/voice. We strived not only to utilize social network effects, but a growing compilation of tools and knowledge for anyone interested in participating.

What it does

Our web-application is a deployed, central "hub" where users can submit any freely accessible resources to various topic feeds: housing, health, education, organizations, and environmental. In addition to open collaboration on our platform for compiling useful resources, individuals or organizations can clone and self-host their own app instances, known as "scribes." These apps could be private compilations of knowledge, or connect back to our central hub which accepts posts from their instance when applicable to broader audiences.

How we built it

We initialized a blank Ionic app with React, a MySQL database, and a Django API. We then dockerized each of these components, so outside groups could clone, build, and deploy their own instances with a single docker-compose command. We also used Google Cloud to run these containers on Apache servers and hosted our central hub at encyclofreedia.wiki.

Challenges we ran into

A major challenge one of our back-end members dealt with was Apache wanting to use the page url as a folder path to find the app's root directory. He had to find and modify Apache's config files so it always routes from our app's index.html file. We each had to learn at least one new language/technology to go in tandem with each other's existing skills.

Accomplishments that we're proud of

We're proud to have developed a full-stack MVP that materializes our vision over the course of a singular weekend. We have a finished front-end, database, and API setup to link it all together.

What we learned

One of our front-end devs had never used Ionic before, while the other had never used React. We also learned about dockerizing different types of applications, domain hosting with a secure HTTPS certificate, and running the application with an Apache server. Additionally, our database person used Django and Python for the first time to help set up our API calls.

What's next for encyclofreedia

We will continue to maintain the application so the impact it has continues to grow. Blaise is the executive director of a worker co-op for civic technology, so he hopes to integrate it with future IndependUS projects and expand the platform.

Share this project:

Updates