Project Blog Main


Crossed another big hurdle

Feb. 16, 2024

Reusing code for selecting assignments

This turned out to be a bust, may try again later with a service but I'm thinking that since I'm reusing the same component, trying to do what I'm doing is not going to be done in a clean manner.

Pairing Assignments with Students and Submitting Grades

Did some more work on moving forward with being able to pair up students with assignments for courses, leading to the eventual goal of teachers having a digital gradebook. On Thursday, I finished up most of the work on the front and back end to create all of the entries for adding grade entry data into the database, and on Friday I connected the dots, as well as added a few interface changes, now the teachers can create grade entries for multiple students in multiple classes. Next week I'll move on to the grade book

Post formatting

Also, I'm making some changes to the formatting for each of these posts, still new to the world of blogging

Back to the top

Going against D-R-Y

Feb. 9, 2024

The last few days have been pretty busy with my School Manager application, let's see if I can remember everything

  • Did some code clean up to avoid repeating some tables in the code by moving the table to a new component. This meant getting a lot more experience with using the Input and Output features to pass information between the different parent and child components
  • Started working on getting everything working for teachers to pair up assignments with students and build up their grade books, but got side tracked, hoping to finish that out this week or maybe next. For now, teachers can pull up the list of assignments they have created, select one or more, and view which ones they have selected, then they can select one or more students. Next steps are building out the transfer object to get that to the back end and then setting up the back end to receive and process.
  • Came up with a plan for how I'm going to handle password resets for demonstration purposes. Going to use the '3 security question' option for now. I have a plan for emailing a reset link but since I do not have an email service set up, and don't want to pay the extra money each month for a demonstration model, that will wait.
  • Finished up all of the filtering functionality when selecting courses. With this, when setting one student up with multiple classes, as the staff selects a course, all other entries of that course throughout the day as well as all courses taking place at the same time, are removed from the displayed list of available courses. Example, if the staff member selects Biology 1st period/hour, then all other Biology courses and all classes during that same hour are removed. Also set up the code to remove those filter and update the display list if a course is removed from the student's schedule.
  • Running into a problem when selecting assignments to pair with students and getting the child components to update after I remove one from the selected list. As much as I want to keep the parent-child component setup, I'm thinking I may have to abandon that idea

Back to the top

First Post

Feb. 5, 2024

I decided the other day to start up this little blog as a way of keeping the few of you that check out my site up to date on projects I'm working on, and to show that I am working on things when updates on my various sites start slowing down

This first post is going to be big since I'm going to talk about some stuff that's already up and running as well as provide some info about bigger project that I'm working on and will add to my Spring monolith project.

  • First up is the obvious, this website. Built using Python/Django with some Bootstrap styling on the front end.
  • Next up was a Java/Spring Boot application that is intended to be a portfolio monolithic collection of applications that come to mind. I started with a web based version of a classic: a Caesar Cipher application. Enter a message, select one or two keys, and encrypt. Encryption isn't good without a way to decrypt so that's there as well.
  • Next up was an updated version of a site I first built several years ago using HTML, CSS, PHP and a MySQL database: a movie and TV Show database. This time, built using Java/Spring with a Postgres database and bootstrap styling. This went back to my early days of programming when I was starting out with Microsoft Access databases and experimenting with many-to-many relationships
  • Then improved on the Caesar Cipher with a Passphrase Cipher. You can read up more on it on the site but the basic idea was instead of using numbers to set the key for shifting characters, use a word or set of words. Each character in the message is shifted by a letter from the passphrase.
  • After that, I worked on a registration/login/logout system. Nothing fancy to it, it doesn't unlock or hold any information, doesn't allow you to suddenly have access to something on the site. It's just that, a registration, login and logout. I used it as a real life practice of getting information from a form, generating a salt hash, hashing a password, storing in the database, then checking the right information is provided when logging in.
  • My big project lately has been a school management application. My child's school has a website for parents to log in and view/edit some information (addresses, emergency contact) but it is far from perfect (I've had problems fixing errors, thankfully the basic information is there). That played into another programming tool I've used when learning new languages, the idea of objects with nested objects and/or groupings of objects. In this case, keeping track of classes, with students, with grades, grouped by teachers, etc.This led me to start developing a management tool geared towards almost everyone involved in the education system.
    • Staff being able to:
      • Validate parents and students
      • Building up courses and assigning teachers to those course
      • Assigning students to courses and viewing who was enrolled in which courses
    • Teachers being able to:
      • View who is enrolled in their courses
      • Create assignments and assign to students
      • Enter, track, and update grades per student
    • Parents being able to:
      • View how their children are doing on grades
      • Update contact information for themselves, their children, others who are authorized to pick children up from school or who should be contacted in case the parents are unavailable
    • Students being able to:
      • View their grades

    So far, I've been able to get the following working:

    • Parents are able to register both themselves and their children (after being verified by school staff)
    • Staff are able to verify parents and students (right now this is just pressing a button, real world this would likely include submitting pictures of ID, billing addresses, etc)
    • Teachers are able to create new homework, quiz or test assignments
    • Staff are able to assign students to courses. This comes in two flavors: K-6 and 7-12. In the K-6 version, this represents Kindergarden through 6th grade in most schools where students have one class throughout the year. In 7-12, this represents middle and high school where each student has 6 or more courses plus a homeroom
  • And now, this blog. Because I don't feel like trying to manage users and controlling access at this point, there is no form for submitting these blog entries. I write them on my local machine and add them straight to the hosting database.

Back to the top