Skip to content

Reda-codes/ecolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation





About Ecolio


Ecolio is an innovative school CMS MVP designed to help schools manage their students, instructors, and staff members.

Developed with a great passion, Ecolio empowers schools to create and manage user accounts, including instructors and students, and create classes for them that they participate in.

The MVP offers features such as announcement sharing, homework assignments, and individual notes for students, allowing instructors to keep track of their students' progress.


The Future Of Ecolio


The Ecolio team plans to add more features in the future, including class attendance management, file sharing, in-app messaging, a school calendar, and administration contact.

Parent accounts will also be included, enabling parents to stay updated on their child's academic progress.

With Ecolio, schools can streamline their administrative tasks and focus on providing the best possible education for their students.

Ecolio is an essential tool for schools of all sizes and is sure to make a significant impact on the education industry.


The Story


The idea came up to me when I was randomly searching for different CMSs and found out that for schools there isn't that much solutions addressed to this issue so for my Holberton School and ALX Portfolio Project I decided to create Ecolio A platform for every school.


The Journey


Building this platform came with its own stack of challenges, from handling different user types to managing a bunch of states on the React client. Thankfully, with passion, deddciation and a bit of searching, I managed to overcome all those challenges and deliver this nice app that has great potential to grow.




Project Structure



The app consists of multiple microservices that work together to deliver a fully functioning product with minimal technical debt.

Information flow

when a user signs in, the React client sends the user's credentials to Auth0 to verify if the user exists. If the user is verified, Auth0 provides the client with an access token that can be used for subsequent requests to the API. This eliminates the need for the client to obtain a separate access token for the API since the same access token provided by Auth0 can be used for the API.


Project Deployment



Deployment process

The project deployment consist of two automated Jobs. Once a repository is updated we use github action to deploy our new code following the steps bellow:

  1. creating the Docker image
    • Building the Docker Image
    • Push the image to docker Hub
  2. Deploying to server
    • Log to our server
    • Pull the new image
    • Stop the container
    • Delete the container
    • Run a new one with the newly pulled image



Deploy & install your own Ecolio

To deploy you own ecolio Follow the guide provided in each service Folder:

Check out our Deployed MVP

app.ecolio.live

Contributors

About

ecolio is a platform dedicated for schools to help manage their students.

Resources

License

Stars

Watchers

Forks

Contributors