Empowering The World Through Learning

The future of learning is online. Until recently, the quality and availability of education depended greatly on where you lived. With the rise of the internet, the world has never been more connected in human history, and never has there been more access to information. Online learning gives us the opportunity to level the playing field, and give greater opportunities for those born in the developing world, as well as those born in poverty in countries like the United States. According to the United Nations Educational, Scientific and Cultural Organization (UNESCO), “ World poverty could be cut in half if all adults completed secondary education.”

Studies have shown that education has direct and indirect impacts on both economic growth and poverty. Education provides skills that boost employment opportunities and incomes while helping to protect people from socio-economic vulnerabilities. A more equitable expansion of education is likely to reduce inequality, lifting the poorest from the bottom of the ladder. — UNESCO

That’s the goal that Reach LMS has set out to achieve, to create an open source learning platform that’s available to everyone. Reach LMS was designed with the developing world in mind. Reach lets organizations offer education and training to anyone, whether they’re working from a laptop in a city center or a solar-charged flip phone in a remote village. The goal is to bring learning to anyone, anywhere, on any device.

The Reach LMS team is composed of myself and 7 other men and women from diverse backgrounds who have come together to make the ambius goals of Reach LMS a reality. Together we are using some of the latest and greatest technologies to bring Reach LMS to live including: React.js, Redux, and Java Spring Boot. Future plans for the project include adding server side rendering to increase performance on older devices and slower internet connections.

Laying The Foundation

I’m proud to say I had the opportunity to lay the foundation for what Reach LMS will one day become. As a member of the team starting Reach LMS as a greenfield project, we had both the tremendous opportunity and responsibility to lay the groundwork that will shape the course of this project for months or years to come.

On the frontend we chose to build the project with the wildly popular React.js. If you’ve never used React before, it is a JavaScript library from the team at Facebook used to make designing user interfaces simple and easy. React has quickly become the leader in the frontend JavaScript framework market. Alongside React we chose to use the popular open source state management library Redux for managing the application state of Reach LMS. Redux is a way to centralize your application’s state and logic enabling powerful capabilities like undo/redo, state persistence, and much more. Redux is also very scalable making it an excellent choice for what we hope will become a large learning platform.

For the backend we chose to use the Java framework Spring. Spring is the most popular application development framework for enterprise Java. Millions of developers around the world use Spring Framework to create high performing, easily testable, and reusable code. For the backend database we went with the popular RDBMS PostgresSQL. PostgreSQL is a powerful, open source object-relational database system that uses and extends the SQL language combined with many features that safely store and scale the most complicated data workloads.

Were We Are Now

The goal at the end of the first two release cycles for Reach LMS was to have a basic MVP for the site finished. Thanks to the hard work of our team, we were able to hit every goal on the roadmap. The list of features so far include:

  • View and update user profiles
  • Models created for programs, courses, and modules
  • Admins can create programs
  • Admins can CRUD courses and modules for programs
  • Dashboards for Admins, Students, and Teachers
  • Admins can add teachers and students to programs
  • Teachers can add students to programs
Quick walkthough of Reach LMS

From here the goal is to continue to flesh out the features for programs courses and modules. Some of the goals on the future roadmap:

  • Server-side rendering + offline management
  • Email signup
  • Important student rosters
  • Student submission management
  • Zoom integration
  • Youtube integration

Working on Reach LMS has been a tremendous experience. It’s given me the opportunity to continue to improve my skills working with Java and Spring. The lessons I’ve learned from building the backend for Reach LMS will be invaluable as I continue my journey as a full stack software engineer!

Full Stack Software Engineer, find me at https://www.linkedin.com/in/shane-slone/ or shaneslone.me