Inspiration

Many of us as students use the learning management system, Blackboard which is currently now decommissioned and Brightspace which we are using right now. However, our team feels that the (content) data presented is very cluttered, sometimes there will be too much information while most of the time information is irrelevant and unnecessary to us. We also feel that we should target a smaller group of people (in this case, it is SOC students) In order to reduce the problems we faced, we decided to sieve the important features that are relevant to us and revamp into a completely new school management system.

What it does

Our group team came out with the idea of a School management system. This system allows students to have easier access to view their own information and to see the modules that are listed for the course that they are interested in taking. A way we can use to help students to decide on a suitable path they might want to take if they are unsure. We have a quiz that can challenge them so they would have an idea of what they are getting themselves into while at the same time allowing them to learn. Before joining the course, students can view feedback that has been given out by students who are currently studying in that specific course so that newer students can notice areas where they might need to be prepared. Admin could have the permission to do a lot of things. Examples of things they can do are like adding new courses and new modules when there are new things that could be added, also admins can view the update the feedback of students as necessary as there could be some feedback that could be slightly offensive or not right. Information that is not important would be removed from the system to clear room for more relevant and useful information so that we don’t face issues faced by other systems

How we built it

We build this tool using JavaScript, HTML and CSS and nodejs and elephantsql and use Axios and fetch API and bootstrap 4 and hosting used Github pages .

Challenges we ran into

Putra: One of the challenges that I face is Having a Lack of Time management when doing school and planning on different kinds of features for myself and my groupmates need to do and Having issues connecting the Backend to the frontend and Having an issue Hosting Frontend pages on GitHub pages and troubleshooting the Backend that hosted using the Heroku and understanding how to do the commit from Github after that, I use the GitHub desktop to make an easier to push and commit and pull the code to Github. Having issue Getting null value when testing backend to frontend and issue on the fetch and Axios some part not working and understand how to use inner join on the elephantsql

Pei Hao: The problem I face is coding verified tokens in the backend and frontend. The first time, I code it but I fail to get the result from the postman when testing. My terminal also crashes, and I spend the time to find which is file coding wrongly. Then I find the problem is come out from config.js following the terminal. I fix the problem by referring to my bed project by adding .sercet after the module. exports. So, I success to get the token from the postman and a new problem came. In the frontend, the code that I have to add the verification token cannot work then I find the problem which is the header. So, I change the header by adding "Authorization": "Bearer " + token inside the code that I want to verify whether the user has a token or not. In conclusion, I am more mastered the verify token and solved the problem of coding by referring to the error that shows in the terminal.

Adeline: My biggest challenge is that I have the tendency of using duplicate IDs will lead to causing the application to not work the way we wanted it to. Since I am mainly doing the frontend UI, I preferred to use duplicate IDs so that the CSS is consistent. However, I did not anticipate that I will get a lot of errors. For example, when I want to click on the feedback page, although it was intentional to prompt the user to log in first before accessing the page, I still viewed the login page after logging in. Therefore, I add the IDs in the

instead.

Xavier: Personally, I faced a lot of issues with communication with my group mates. At times I don't even understand what I need to do. Things aren't very clear, it partially has something to do with my own personal weakness in my backend and frontend development skills. I am removing my Backend Development Module. That means that I am either going to need to pick up backend development afresh before understanding this. However, I was unable to do it. I was very confused about what i can even do half of the time Another issue I faced is that mainly I don't really understand what I can find online that could help me with this website. I have not much interest in making websites for studies. Much rather be making games or something. I'm not as creative in this aspect so I feel that my creativity ain't really able to shine Overall I feel that my main issue at the end of the day is my communication skills with my group and my lack of understanding of the basics of backend development. Fact Because I am weak in both of these, it's not easy to figure out what I need to learn to fix the issues. Also when I face an issue while coding I just completely lose motivation altogether so programming this can be annoying since there's a lot of debugging that needs to be done as well. How I can fix it is when I retake the module, I would already have time to fix up my basics with backend development and I just discuss more and procrastinate less while doing this assignment. Managing time a lot better as well

Accomplishments that we're proud of

Our group have accomplished a lot and improved on many features from the duration of the CA1 to CA2 assignments. Key accomplishments we are proud of are being able to understand and comfortably use ElephantSQL as our database for our assignment, as well as utilizing GitHub desktop to make our coding and sharing codes with one another a lot more efficient and have a strong understanding of how GitHub works instead of just using it to search for codes online. We also became very good at doing testing for stuff from the backend to the frontend using Postman. Testing using Postman makes our life a lot easier when it comes to testing so we are very proud of this accomplishment even though it does not seem big. We also improved on the web design a lot as compared to what he has done in our previous work. We were also able to implement a lot of new features and options for users. The code also managed to run quite smoothly. A lot smoother than we expected it to be considering that we are relatively weak in this aspect. Finally, we have also got better at using the fetch and Axios API as compared to before. Before this, we did not even know how to use such things for our projects. These are the main accomplishments that we are proud that we are able to do right now.

What we learned

Our group learnt that we really need to plan our time more wisely. During the assignment, we faced a lot of time management issues due to having other assignments and other commitments. We also need to have a stronger sense of communication amongst one another. During discussions when we didn’t communicate that much, we found that we have moments where we are quite a loss in what everyone would have to do. What we can do is probably start the discussion sooner and make our instructions and what each of us is assigned clearer, so we do not face similar issues again in the future. Throughout this assignment, we learned a lot about how to use elephantSQL. Before the start of the ADES assignment, none of us knows how to use the elephantSQL database. Therefore, elephantSQL is no doubt one of the key things all of us learnt how to use. Before ADES, we were using other databases like MySQL or SQL server. Even though these are databases as well. They are very different in how each of them works which makes it hard at the start. Finally, one more important thing we learned is how to commit and upload our codes onto GitHub. This was something we didn’t do early on which makes it very hard for us to share codes with one another. Thanks for learning how to commit to GitHub. We can efficiently edit and code and keep each other updated so learning this is one of the most important things each of us learnt throughout this assignment. We used to face issues like when someone fixed a bug. The other people would not be notified as soon as compared after committing to GitHub.

What's next for SOC Management System

We hope to improve our Website Design and add Additional features to the website for the student and admin system.

Built With

Share this project:

Updates