Programming a student report card generator that operates on the web

Hi, I’m not sure if my post agrees with the guidelines of this forum, but I need help in deciding what coding languages I should use and what steps I should follow to achieve my goal.

I’m a student, whose taken on the responsibility of making a report card generator for the school.

I need to make/code a software that accepts input (from teachers), stores them in a database, and produces an output (report card for each student).

The input is the mark of each student for each subject, and the comment the teacher has written for that individual.

For the processing part of this project, I don’t need anything more than simple addition of marks for each student.

For the output, I need an A4 auto-generated paper (design of it being based on a template) with the list of subjects the student takes, the comments of the teachers, and the marks the student got.

What’s more is that the software needs to be uploaded online, so that teachers can access this program using internet and so can input the data for each student. Here I preferably need something that restricts each teacher to their own respective subject, so that they can not change other teachers’ given marks. Once all teachers submit the data, the program should finalize everything and display output for the vice principal, who can then access all the files online and print them.

Steps I’ve generally outlined for myself:

  1. Create a program that can accept input
  2. Create a database that can store all the information.
  3. Create an output template
  4. Put the program online
  5. Make accounts for each teacher that restricts them to their specific subject
  6. Make an account for the vice-principal, so that they can access all files and print them.

I have three questions:

  1. What languages and software should I use to make the program?
  2. How can I put the software online?
  3. What general steps should I follow?

I’m basically asking if what I have in mind is possible in the medium level of coding.

I’ve seen from different places that coding languages such as C++,Java, and php can help in making this program. Also, I don’t have experience with database, but I’ve seen MySQL being used to stores the data and then later on make a report.

I do not have much experience in coding (mostly HTML,CSS,JS,VB), but I am a quick learner and an eager researcher. I’d appreciate any help that’s given.

These reports are more improvement based, and so no sensitive/private data is in danger.

1 Like

except the student’s name, their school grades, their classes, the teacher’s names, a login and password for each teacher and the vice principal, and the private notes between a teacher and that student’s parents. Yup. Definitely nothing private there.

I would advise your school to reevaluate the idea of inviting a novice to undertake this task for their sensitive data.

4 Likes
  1. There are a few to choose from. The most common and widely available is PHP with MySql database, most hosts offer this.

  2. Does the school already have a website? You could add a sub-domain or just another folder to contain entry point. Otherwise you will need to get a domain and a host.

  3. A lot to cover here, do it the right way. Learn about security (very important), avoid out-dated and ill-informed tutorials. If you do go down the PHP/SQL route Sitepoint has a decent book to get you started with this kind of project.

1 Like

Agreed, this is an ambitious project for a beginner. It would be a valuable learning experience, but whether your first project would be fit for purpose and sufficiently secure is an important question to ask.

1 Like

While you’re making a valid point, I know of many programs that do the same thing that I want my program to do, and many schools in my district make use of them. My school is mostly looking to give an opportunity to its students. It will take care and accept the responsibility of the web security itself. What I’m looking for right now is how to code the program so that I gain knowledge and progress from a novice to a more experienced programmer.

1 Like

Yes the plan is to add another folder to the school website. Thank you for your recommendation.

1 Like

The security (or possible lack of) will lie largely within the code you write. Many novices will unwittingly leave gaping security holes purely through naivety and absence of knowledge about possilbe attack vectors (and how to avoid them). To “take care” of security the code would have to be reviewed by an experienced programmer.

1 Like

You’re right. In that case, I will talk more to the school about it. I know a few experienced programmers. I know it is ideal for the base of the programming to be strong, but could the ‘holes’ be fixed even after the core coding is done?

1 Like

The good thing about code is that it’s not set in stone.
But how easy it is to fix will depend on how well written and maintainable it is in the first place.

1 Like

You need to start with something that is often called a Requirements Definition. That is something that you will be taught if and when you take college courses. What you have described here is a good beginning. You should proceed with that. It is a mistake to limit the implementation to a specific language and other specifics unless they are true requirements. A Requirements Definition should be generally understandable by non-technical people; as I indicated, it should not limit the technical specifics of how things are done.

So some things that would be appropriate is sample screens/forms. You can and probably should design the database but in a general manner in the sense of describing what data needs to be processed. You should also describe the types of users, such as teachers and administrators, along with the intended privileges.

You need to define that better. Generally, you might be describing online web software (such as is used in the internet) or you might be describing desktop software that is downloaded and executed in a desktop system. That requirement can strongly influence such things as the language used.

So you want to create the programs for use in a website? Where is the website hosted? What server-side language is being used by it? You might be able to decide to use a different language but it is most likely you will want to use the same language.

That is the exact reason they teach the importance of Requirements Definitions. Any changes in the design after the implementation has begun are likely to be costly, often very costly. It is better to decide what needs to be done before proceeding to implement the design.

If the school already has a mechanism for staff to sign in then it is likely you can use what they already have.

2 Likes

Wow I didn’t even think about using a LAN. That would solve so many problems. Unfortunately my school doesn’t have a sign in mechanism, but one can be set up. Thank you.

1 Like

Note that LAN implies Ethernet. A LAN program and signon would be very different from an internet program and signon. Technically speaking, internet connections on the local side of a router use Ethernet but internet users and most developers are never aware of that or at least never use Ethernet in programming. The internet uses TCP/IP and related protocols. For the internet (inter meaning between, as in between routers) people usually use the terms internet and intranet. An intranet (intra meaning within) is what you might call the LAN. For the programmer there is seldom much difference between internet and intranet. The programming is the same, it is just a difference in where the signals/sessions are allowed to go and come from.

Yes I am aware of these points. I meant that if I were to set up this program on a LAN, then the connection would be more secure and the data would not be so easily abused, even if there were problems in the coding that would allow data theft.

That is probably the biggest reason hackers get into systems.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.