Inspiration

   ____                 
  / __ \____  ___  ____ 
 / / / / __ \/ _ \/ __ \
/ /_/ / /_/ /  __/ / / /
\____/ .___/\___/_/ /_/ 
    /_/                 

Open is an opportunity, a chance to broaden the mind, free tools and resources to benefit all of mankind. Open is an aperture, something you look through, access for all, not just the few.

My name is Christopher Tate and I love people, places and systems.

I love to create systems for people to use in many places to solve things.

What it does

I will tell you about an open source project that I built that is helping my community today for Little Orchard Preschool. Nikita, the founder, asked me back in 2017 if I could write school registration software better than her existing tools.

So I set out to create software for Nikita to create records for her school. I built an online system to organize her school, and an online enrollment form where you can easily read all the details, register your child, yourselves as parents, other guardians and emergency contacts, share any concerns, sign and agree to conditions, and select a time to come.

How I built it

   ____                  _____ __    _ ______ 
  / __ \____  ___  ____ / ___// /_  (_) __/ /_
 / / / / __ \/ _ \/ __ \\__ \/ __ \/ / /_/ __/
/ /_/ / /_/ /  __/ / / /__/ / / / / / __/ /_  
\____/ .___/\___/_/ /_/____/_/ /_/_/_/  \__/  
    /_/                                       

The existing enrollment system runs on a Tomcat server on a physical machine. The new computate-scolaire project, which replaces the old enrollment system, is deployed here on OpenShift.

Along with a Solr search engine, a Zookeeper cluster manager, computate.org which is my own website for teaching open source software development in multiple languages, Red Hat SSO, and a PostgreSQL database.

The secret there to a powerful API and helpful website is an open source search engine. Search engines are so powerful, that I also use a search engine to read and write my code for me.

In fact, for my open source projects, every piece of code I write, as soon as I save it, is immediately loaded into a search engine.

The reason for this, is that code describes systems and relationships, like school registration systems. With the help of a search engine, I can build entire websites and APIs, from its swagger spec, to its common objects, persistence, and documentation. Its all built from search records about the Java class, field and method information, but most importantly, the code comments.

Lets try out the searchable school API that was generated for Nikita to create records for her Little Orchard Preschool

Her current school year 2017 to 2018...

Her winter school season...

The session start and end date during that season...

The age groups in that session...

And the school blocks for the start and end times, the days of the week and the price per month...

Challenges I ran into

There is too much too explain in an 8 minute demo, but it is deployed here on OpenShift.com, along with a Solr search engine, a Zookeeper cluster manager, computate.org which is my own website for teaching open source software development, also in multiple languages, Red Hat SSO, and a PostgreSQL database.

Accomplishments that I'm proud of


   ______          __   
  / ____/___  ____/ /__ 
 / /   / __ \/ __  / _ \
/ /___/ /_/ / /_/ /  __/
\____/\____/\__,_/\___/ 

  ______                      __      __  _           
 /_  __/________ _____  _____/ /___ _/ /_(_)___  ____ 
  / / / ___/ __ `/ __ \/ ___/ / __ `/ __/ / __ \/ __ \
 / / / /  / /_/ / / / (__  ) / /_/ / /_/ / /_/ / / / /
/_/ /_/   \__,_/_/ /_/____/_/\__,_/\__/_/\____/_/ /_/ 

Now Ill tell you something surprising, this School.java class was actually written in French first, and translated by open source software into English as a second language to work in both languages!


   ______          __        ___    ____  ____    
  / ____/___  ____/ /__     /   |  / __ \/  _/____
 / /   / __ \/ __  / _ \   / /| | / /_/ // // ___/
/ /___/ /_/ / /_/ /  __/  / ___ |/ ____// /(__  ) 
\____/\____/\__,_/\___/  /_/  |_/_/   /___/____/  

And the search engine can tell me about 1,297 facts about every individual piece of this Java class to build an API, a website, an OpenAPI swagger definition, getters and setters and so much more.

What I learned

I asked Nikita, "Does an individual have the power to make business better with open source software?"

Nikita said, "Yes, because with open source software, like in my situation, I expanded a second location, and I added the second location instantly, and another system may not have communicated well for me, super easy to grow."

I asked Nikita, "Have you seen growth from 2017, 2018, 2019 that you think the enrollment system has helped with?"

Nikita said, "Yes, because of online enrollment, people are techy, take a tour, talk about it, sign up right then and there. They can sign up online. They have come up a lot more fast then when they were hand filled in, hand typed, managers do not have to retype."

What's next for computate-scolaire

Now this school goes back many years.

In 2017 the number of enrollments started at 231...

Then in 2018, enrollments more than doubled to 501.

And now in 2019, after just 2 months in, enrollments exceeded that too, and are already up to 524! And that is the power of open source software in business!


    ____      __                        __  _                   ___            
   /  _/___  / /____  _________  ____ _/ /_(_)___  ____  ____ _/ (_)___  ____ _
   / // __ \/ __/ _ \/ ___/ __ \/ __ `/ __/ / __ \/ __ \/ __ `/ / /_  / / __ `/
 _/ // / / / /_/  __/ /  / / / / /_/ / /_/ / /_/ / / / / /_/ / / / / /_/ /_/ / 
/___/_/ /_/\__/\___/_/  /_/ /_/\__,_/\__/_/\____/_/ /_/\__,_/_/_/ /___/\__,_/  

   __  _           
  / /_(_)___  ____ 
 / __/ / __ \/ __ \
/ /_/ / /_/ / / / /
\__/_/\____/_/ /_/ 

Computate open source software builds software in multiple languages at the same time, making internationalization easy. Vert.x makes it scalable. OpenShift deploys it across the world, and that makes a big impact in communities large and small.

   ______                            __        __       ______
  / ____/___  ____ ___  ____  __  __/ /_____ _/ /____  / / / /
 / /   / __ \/ __ `__ \/ __ \/ / / / __/ __ `/ __/ _ \/ / / / 
/ /___/ /_/ / / / / / / /_/ / /_/ / /_/ /_/ / /_/  __/_/_/_/  
\____/\____/_/ /_/ /_/ .___/\__,_/\__/\__,_/\__/\___(_|_|_)   
                    /_/                                       

You can make software that benefits your community and the world. Check out https://github.com/computate, and https://www.computate.org/. And dont give up on your dreams, you can do hard things. Computate.

Built With

Share this project:
×

Updates

posted an update

Here are a few links for reference about the project:

github project: https://github.com/computate/computate-scolaire

Generated OpenAPI 3 Swagger definition for the whole site in English: https://github.com/computate/computate-scolaire/blob/master/src/main/resources/openapi3-enUS.yaml

Generated OpenAPI 3 Swagger definition for the whole site in French: https://github.com/computate/computate-scolaire/blob/master/src/main/resources/openapi3-frFR.yaml

The script I ran in my video with the links that generated the API results in the browser: https://github.com/computate/computate-scolaire/blob/master/bin/enUS/present-demojam.sh

Log in or sign up for Devpost to join the conversation.