Inspiration

As a result of COVID-19, billions of people are forced to stay at home. One of the affected groups that resonated with us was students. As current college students ourselves, we understand how difficult it is to build a community of learners in the present environment. Yet we also know firsthand how important such a community is in order to succeed in online courses.

At its core, Faction is really about connecting people. We believe that the best learning occurs when it’s done along with others.

What it does

Faction works by bringing together students taking Massive Open Online Courses who might otherwise be studying alone. We match these students into small, virtual study groups. Within each study group, we provide a feature-rich educational environment so that learners can support and encourage each other as they progress through the course.

How we built it

We began by designing the application in Figma. Then, we implemented the frontend using React and the Material UI component library. At the same time, we designed and implemented the API routes using Node.js and Express.js and connected our backend application to MongoDB.

Challenges we ran into

The first major challenge was creating the design documents for the application. We realized that simply starting with coding will lead us nowhere. So instead, we started by defining the use cases for Faction and writing design documents. For frontend it was layouts and UI Research. Backend was focused more on System Design, OOAD, DB Schema.

The second challenge which we faced was the first time we tried to deploy the application. We used different domains for hosting backend and frontend on Heroku, so we ran into errors such as Cross-origin resource sharing.

Accomplishments that I'm proud of

We are especially proud of all the new technologies that we learned such as the MERN (MongoDB, Express.js, React.js and Node.js). It is a very sturdy and modern tech stack for creating easily scalable and robust web applications. We also learned a lot about Software Development Life Cycle and the importance of Agile.

Most importantly we are really proud of creating and hosting a web application from scratch even though we were not familiar with the technologies being used. We learned a lot about the different aspects of application deployment and the importance of having multiple environments (Testing and Production).

What's next for Faction

Our web application is a great boilerplate for Faction’s future potential. We want to add more functionality in our product so that students can have access to more features such as a discussion forum and live office hours with verified mentors. We also hope to more easily integrate MOOCs data to automate group creation on Faction using a simple browser extension. Lastly, we aim to increase fluid interaction between students through a forum chat feature.

Share this project:

Updates