Learning Management System

Learning Academy

I had worked on an 8 person team to help develop a Learning Management System for our client, a professor at CSU Sacramento. The basis of the project was to create an interface for students, tutors, and professor to interact with. It would also allow professors to share materials and allow students to get feedback from tutors.


My Role on the Team

My role on the team was to work on both the front-end and testing. I worked on bringing functionality to the website through the backend, and connecting it to the front-end side using Express.js. For the front-end, I created webpages in JavaScript using the React library as shown in the video.

My other role on the team was to facilitate the automatic testing of our website, along with doing manual testing collectively with my team. I used Selenium along with TestNG and its XML capabilities to create test cases and to run on multiple browsers, making sure that pages such as the login page worked correctly.

Technologies Used

As a base to build upon, we, as a team, decided to use the MERN stack, which includes MongoDB for the database, Express.js for the web framework, React.js for the client side, and Node.js for the web server. The team was also able to implement OCR (Optical Character Recognition) using the Tesseract.js API, where it could read words from an image, and allow the user to import tests/homework more easily. We used Postman for server testing. The product was deployed onto our client's Redhat Linux server.

For scrum software, we had used Flying Donut in order to organize and efficiently split up tasks. And for version control, we were using GIT. We used Visual Studio Code on our team as our IDE.

For testing, Selenium paired with TestNG was used with Java, using browser specific drivers that were linked on Seleniums website for Chrome, Firefox, Edge, Safari, and Internet Explorer.



A Learning Experience

Throughout the project, I had learned a lot about managing time and making sure to stay organized. One part of staying organized that was very critical for our project was constantly communicating with the team, as well as communicating with our client. We made sure to communicate with our client every 2 weeks to update them where we were and keep them in the loop. As for the team, we would make sure to meet every week and make sure that we were all on task and able to get our parts done in a timely manner.

I also had to make sure to learn and understand a completely new language and framework in a very quick manner, and utilize that to create a product. I was able to learn JavaScript in a short period of time and use that knowledge to help contribute to the team.

I also learned the importance of making sure to make everyone on the team feel included and working efficiently with people that I had just met. At least 3 of the 7 team members I had never spoken with before our project, but having clear and focused communication made it a lot more easy to work with them. Though one thing that I also learned from the experience is dealing with group members who may cause issues and being able to overcome those issues in order to finish the project.



Logo
Learning Academy LMSUnreal Engine 5Unreal Engine 4RAGE (CSUS)OpenGLC++ CLI