-1

We have a college management system developed over a decade as and when requirements came along. The project team also comprised of students currently doing graduation in the course. These students are paid extra for work and are allowed one extra year to complete their graduation. The project also has two dedicated (non-student) developers who manage smooth transition of system from one outgoing / graduating student team to incoming / admitting student team. The development initially started up in Java. But due to student's unfamiliarity with Java stack and strict deadlines, they resorted to use the technology of their choice, sometimes Java, sometimes PHP. Also, over the period of time, the whole system has grown unmanageable due to lack of pre-thought design. So, we decided to streamline things a bit. Some years back we tried to reimplement everything in ERP. But after a year of efforts, ERP implementers were not able to deliver the satisfiable customization. So, now, we are thinking of rebuilding the whole system with proper design, with single tech stack. Since major code is in Java, we are thinking to reuse Java server side code and rewrite the rest of server side code in other languages in Java. So we are remained with decision of client side, which is what this question was about "initially". Initially I didn't stated all this project history thinking it will not be necessary, since we have somewhat came to the decision of such major redevelopment. So I improperly abstracted out all these details saying "building from scratch". To this, some answers stated that building from scratch wont be a good idea. Now that I have added this project history, I hope it will help you giving correct guidance in the answer.

We have following modules in system:

  • new admissions (which experiences max load at time out of all modules my college being topmost college in my country),
  • course registration,
  • gate pass,
  • guest house booking,
  • grading
  • Project evaluation
  • Degree certificate generation
  • Hostel management
  • course feedback etc.

I am more confused with whether having a responsive website is enough or if we should think of more cross-platform options like PWAs / native / hybrid / flutter apps.

Out of cross plaform option, I feel PWAs will be more convenient as developing native / hybrid / flutter apps will be more time consuming and we have a constraint of student work hours. So we want to ensure least possible burden on students at the same time best application development.

Q1. So I believe thinking of only PWAs makes sense out of cross-platform options as it takes considerably less time (as same as developing a responsive website?). Am I correct with this?

If I am correct with Q1, the question boils down to responsive website vs PWA? Many sites [1],[2] state following advantage of PWAs over-responsive sites?

Features PWAs Responsive Web Apps Our sample need that this feature might serve
Low Cost No (Q2. But is it significantly costlier than responsive ones?) Yes College budget and student work hours are limited
Offline Support Yes No To avoid load time for new admissions
Push Notifications Yes Yes May be to notify its last date of course registration for new semester
Faster UI Yes (due to local storage) No To avoid load time for new admissions
Lighter Yes (in comparison to native apps) Yes (in comparison to native apps) To avoid load time for new admissions
Fast loading Yes (due to local storage) No (due to reloading of UI) To avoid load time for new admissions
Native look Yes No Nice to have
Add to home screen Yes Yes Nice to have

Looking at this list I am started to have a feeling that PWAs are the way to go in almost any use case over responsive websites and we should also opt for the same.

Q3. Am I correct with this?

Q4. Robert asked in comments if we even need PWAs, which is cross-platform functionality. This is my response and I want to know if am correct with this:

I thought of exactly this earlier too. Though college can "manage" without going mobile, I felt we should have some good mobile strategy. All other systems have mobile apps. Online lectures on MS teams / WebEx, assignment submission, course management, discussion on Moodle. These have their own mobile app. Plus, the college has its own mobile app specifically for taking quizzes and exams. So I was thinking, how correct it would be in today's era, not to have any plan to go mobile? Especially if it is doable without putting a whole lot of extra effort for PWA over maintaining the responsive website (not sure of this, that's why this is my Q2).

Q5. Like other answers to this question which were given before adding project history, do you feel that major redevelopment work is not required? Else does this plan makes sense:

start off with identifying major chunk of reusable server side java code and build PWA targeting only those functionality thus requiring minimal initial effort and then gradually add functionalities requiring rewrite of server side code as per requirements.

PS: I have relatively less work experience in pure web development. So I need some help with this decision. Sorry if this is the wrong question to ask on this forum, but if that is the case, please let me know which StackExchange site should I head to for this help. I found this is the most relevant site among all StackExchange sites.

10
  • 2
    Differentiating between PWA and Responsive Web App does not make sense to me. A PWA is a responsive web app with some stuff on top. So your comparison is especially wrong when it comes to low cost. There are only lower costs when compared to a native app for iOS and Android. You can add any website to your home screen. This also true for all other points. PWAs use everything a "normal" responsive web app can also do. It's just mandatory for PWAs to be called PWA. – chromanoid Feb 19 at 13:33
  • The comparison is from linked sites. I myself am not an expert in both. But now I realize PWA might not have low cost than responsive ones. But are PWAs far too costly than responsive? If not, is it justified to go for PWA for other listed benefits they provide given all our specified requirements? (I guess I have now fixed the comparison table) – Maha Feb 19 at 19:11
  • Do you even need a PWA? The primary use case for PWA's is cross-platform development, specifically: adapting to mobile devices. Will the website in question be used extensively on phones and tablets? – Robert Harvey Feb 19 at 21:29
  • Though college can "manage" without going mobile, we should have mobile strategy. All other systems have mobile apps. Online lectures on MS teams / WebEx, assignment submission, course management, discussion on Moodle. These have their own mobile app. Plus, college has its own mobile app specifically for taking quizzes and exams. So I was thinking, how correct it would be in today's era, to not to have any plan to go mobile? Especially if it is doable without putting whole lot of extra effort for PWA over maintaining responsive website (not sure of this, that's why this is my Q2). Added as Q4. – Maha Feb 20 at 12:58
  • A PWA is basically a technique for downloading your entire app upfront and running a web server in the user's browser. The advantage is potential for offline support, and fast subsequent loads. The drawbacks include complexity, having to download the entire asset bundle up front (slow!) and uneven support between browsers. You can't count on push notifications working as expected. Perhaps you should start delivering value with a normal web app, but keep the evolution to SPA or PWA on the table. – amon Feb 21 at 7:50
2

Sorry if this is a bit blunt but I think you are looking in the wrong direction. With this list of expensive features, if you want to develop them from scratch, and for a single college, you're probably either out of deadline or budget or both, no matter technology choice. If you imagine every single college repeating the development, do you imagine at the scale of a country how much time and money would be wasted reinventing the wheel?

Most of the problems you listed are generic educational or even corporate requirements many colleges have. Either your solution exist on the shelf somewhere (very likely, even though they might have to pay, or you might have to assemble different pieces), or, instead of making your own website and drain months/years of wages down the drain, you could make a project building that shelf solution and divide costs among institutions with similar needs (usually through selling a software licence - but other models are possible).

It might be less fun, you might think, they might have to tweak expectations to reality, you might not get to use exciting technologies and work with that outdated framework coded in a language that no one uses anymore, but knowing how to evaluate and reuse existing software is a valuable skill, and if you think of the situation globally, could most definitely in the present case save more than being able to code twice as fast.

12
  • yup thats correct. We do have existing system up and working for a decade now. However, its being developed over a decade of time by students as and when requirements came. So most of the modules were developed with strict deadline of requirements. Students ended up implementing in the tech of their choice just to avoid missing deadlines due to time required to learn existing tech stack. Some modules are in PHP, some are in Java etc. [continued to next comment ... ] – Maha Feb 22 at 7:45
  • [... continued from last comment] So its not that well managed and becomes difficult at times to deal with. College made a contract with ERP provider & tried for a year, but customization to ERP didn't work out well. So now management is thinking to build everything from scratch with proper design and planning as we now have learned bits and pieces of requirements over a decade. This will be multi year effort. With this information, do you have any different suggestions? – Maha Feb 22 at 7:51
  • @Maha In that scenario I would still try to gather what are solutions existing in FOSS that could save me time, and try to base my technology choice on that. I imagine the customization part was under-evaluated in the ERP trial, possibly due to excessive salesman zeal, but within years of development you have opportunity to make something work that's coherently answering the need they have. I don't want to advertise any solution in particular, but taking a look at this example gives a hint on what amount of work can be saved through using FOSS. – Arthur Hv Feb 22 at 8:12
  • @Maha Also, it's worth not underestimating the risk that if you start a new project from scratch, it won't be of the taste and programming language of the next students, and you will be back to the current situation you described. – Arthur Hv Feb 22 at 8:17
  • These students are paid extra for work and also allowed one extra year for course completion. Earlier students developed haphazardly as there were no guidelines in place. I missed to state that there are two dedicated non-student developers for this project who tried ERP for a year. More detail in this comment. With this extra info, do you have more thoughts on normal web app vs PWA and original questions I asked? Or still you believe FOSS is the way to go? – Maha Feb 22 at 12:45
1

Build multiple websites instead of one monolith which do the unrelated things you mentioned, which all authenticate users using "single sign on". You'll have to decide the responsibility for each website. You can even plug in 3rd party services instead of building these websites yourself in certain cases. You'll get improved feedback loop and reduced coupling, making it easier to plug in 3rd party software or allow newer students to rebuild the (smaller) websites from scratch in the future. (Considering you're gonna be having students working on this over time.) Also, this way, you don't need to "decide on tech stack for the website."

Skip PWAs, or mobile apps (native or cross-platform) for now. It sounds like you're quite far from delivering this project, and I would consider all of these things expensive optimizations. From user feedback, you can decide which features are valuable to turn more mobile friendly: Gate pass, Guest house booking, grading and course feedback instead of admissions or degree certificate. Random though about degree certificates: I suggest emailing the PDF automatically to the students (No UI is the best UX?). I still have issues getting my degree certificate from my university web portal.

Having said all that, it sounds like you need standard university software. Why doesn't the university pay for one (for the time being), and get the students to build an in-house replacement for certain expensive functionality, or work on more interesting projects.

2
  • yup thats correct. We do have existing system up and working for a decade now. However, its being developed over a decade of time by students as and when requirements came. So most of the modules were developed with strict deadline of requirements. Students ended up implementing in the tech of their choice just to avoid missing deadlines due to time required to learn existing tech stack. Some modules are in PHP, some are in Java etc. [continued to next comment ... ] – Maha Feb 22 at 7:46
  • [... continued from last comment] So its not that well managed and becomes difficult at times to deal with. College made a contract with ERP provider & tried for a year, but customization to ERP didn't work out well. So now management is thinking to build everything from scratch with proper design and planning as we now have learned bits and pieces of requirements over a decade. This will be multi year effort. With this information, do you have any different suggestions? – Maha Feb 22 at 7:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.