This week's book giveaway is in the JavaScript forum.
We're giving away four copies of Svelte and Sapper in Action and have Mark Volkmann on-line!
See this thread for details.
Win a copy of Svelte and Sapper in Action this week in the JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Bear Bibeault
  • Junilu Lacar
Sheriffs:
  • Jeanne Boyarsky
  • Tim Cooke
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • salvin francis
  • Frits Walraven
Bartenders:
  • Scott Selikoff
  • Piet Souris
  • Carey Brown

Web Application for employee performance review

 
Ranch Hand
Posts: 152
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi All,

I am fairly new to web programming and have some amount of knowledge on HTML, CSS and JavaScript. Up to an extent where I can understand code with Googles help.

I am an RPG programmer (an IBM i Programming language) at the organization I work for where most applications used for business processes are written in RPG and apps used for internal purposes (such as payroll etc) are written in VB.

There are no applications used internally which are used by each of the employees for internal purposes. A project is on its way where an application needs to be built for employee performance review.

This application should allow employees to define their goals for a year and should allow managers to give feedback at the end of the year. There is a proposal to build this as a web application.

I believe that this is going to be a work of moderate complexity and PHP + MySQL should be ideal for this job. The reason why I came to this conclusion is that there are many articles that seem to suggest that PHP is comparatively easier to learn compared to other languages (ruby, python etc.).

Though I have some confidence in building a website with HTML, CSS, Javascript etc. what really i have no clue is about how to handle multiple users in a web app?

What concepts do I need to learn/be aware of this? When a user logs in, he should see his recorded goals and his feedback. If the employee is a manager(has employees under him), he should have the ability to give feedback as well as record own goals.

How is this user management done? Also, is really some sort of web hosting required to run an app like this? is there some way this can be hosted locally within an organisation?




 
Marshal
Posts: 67451
173
Mac Mac OS X IntelliJ IDE jQuery Java
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

sinatra roger wrote:The reason why I came to this conclusion is that there are many articles that seem to suggest that PHP is comparatively easier to learn compared to other languages (ruby, python etc.).


If you are concerned about a new language, why not consider JavaScript for front end and back end (with NodeJS), as you already know it, rather than learning a new language?
 
sinatra roger
Ranch Hand
Posts: 152
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yup I do know the basics of javascript. But I was thinking that maybe Node.js is more complicated to learn compared to PHP and there would be more similar such applications written in PHP/MySQL compared to Node which might be more helpful. Please share your thoughts about that.

Also, can you please help me find answers to the other questions I posted? Is a multi-user website where each user gets his own personal page when logged in difficult to implement? Is that easily done using Node.js?Which would you suggest is a good tutorial to learn Node.js?
 
Bear Bibeault
Marshal
Posts: 67451
173
Mac Mac OS X IntelliJ IDE jQuery Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

sinatra roger wrote:Yup I do know the basics of javascript. But I was thinking that maybe Node.js is more complicated to learn compared to PHP and there would be more similar such applications written in PHP/MySQL compared to Node which might be more helpful. Please share your thoughts about that.


I'd say learning a whole new language and ecosystem is more difficult than just learning a new ecosystem.

Also, can you please help me find answers to the other questions I posted? Is a multi-user website where each user gets his own personal page when logged in difficult to implement?


Most web apps are multi-user web apps so support and frameworks are geared for this. That said, security is never easy. Be sure not to try and roll your own.

Is that easily done using Node.js?


It's really not something that's language or framework specific. If you were going to approach it using just JS (personally, I'd use Java on the server, but I already know Java and its ecosystem well) I'd advise using NodeJS and Express to set up a RESTful API, and use React/Redux on the client for the presentation.

If you want to learn PHP, that's fine too.
 
Sheriff
Posts: 4885
317
IntelliJ IDE Python Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This sounds like a problem that will have already been solved many times over. Have you considered the solution of buying an existing product?
 
sinatra roger
Ranch Hand
Posts: 152
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yup that was another question I had in mind. There might be so many other products available in the market already for something like this. Would you be able to advise if most organizations would prefer buying an existing one and then customising it or would it be of some benefit to develop something like this in-house.
 
Marshal
Posts: 25823
69
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
There's several things that organizations would (or at least should) look at in this context. A couple of examples:

1. Does the product work out of the box for us or would it require either customization of the product or changes in our business practices?

2. Does the product have to work with our existing systems and can it be made to do so easily?

3. Can the product be customized to our needs?

Yes, I know there's some overlap in those questions. And the answers to them are not yes/no answers but more nuanced answers. And yes, there are surely more questions to be asked. It's not easy to make this kind of decision.
 
sinatra roger
Ranch Hand
Posts: 152
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Bear Bibeault wrote:

sinatra roger wrote:Yup I do know the basics of javascript. But I was thinking that maybe Node.js is more complicated to learn compared to PHP and there would be more similar such applications written in PHP/MySQL compared to Node which might be more helpful. Please share your thoughts about that.


I'd say learning a whole new language and ecosystem is more difficult than just learning a new ecosystem.

Also, can you please help me find answers to the other questions I posted? Is a multi-user website where each user gets his own personal page when logged in difficult to implement?


Most web apps are multi-user web apps so support and frameworks are geared for this. That said, security is never easy. Be sure not to try and roll your own.

Is that easily done using Node.js?


It's really not something that's language or framework specific. If you were going to approach it using just JS (personally, I'd use Java on the server, but I already know Java and its ecosystem well) I'd advise using NodeJS and Express to set up a RESTful API, and use React/Redux on the client for the presentation.

If you want to learn PHP, that's fine too.



Learning Node.js really seems to be the sensible thing to do compared to PHP. I guess jQuery can be used on the client side?

Please advise what a good point would be to get the learning process started (books, tutorials etc.)?  

As I mentioned before I know the basic syntax of javascript and a bit of jQuery. Specifically, if there are tutorials  that show how to build multi-user web apps, that's what I would prefer.

And as far as whether my organization decides to buy a third-party tool or not, I have decided to build this application for personal gains irrespective.
 
Saloon Keeper
Posts: 22498
151
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You might want to check your IBM resources. I think you can write web applications in RPG these days

I work regularly with PHP and Node.js and each has their charms. One of PHP's big failings is that it was like early JSPs where code and view template were in the same file. Which is both a maintenance nightmare and a real headache for text editing programs which have to switch modes every time you transition from HTML to scriptlet or back.

Node Express templates are handy in that the template language (whose name I forget because it changed) is minimalist. No angle brackets and other annoyances. On the other hand, JavaScript is an abomination so there's that.
 
Paul Clapham
Marshal
Posts: 25823
69
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tim Holloway wrote:You might want to check your IBM resources. I think you can write web applications in RPG these days



Yes, I can confirm that's true, I actually did it once. (I was the person in charge of Trying New Stuff in our IT department, that's why.) But I highly disrecommend that idea.
 
sinatra roger
Ranch Hand
Posts: 152
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Paul Clapham wrote:

Tim Holloway wrote:You might want to check your IBM resources. I think you can write web applications in RPG these days



Yes, I can confirm that's true, I actually did it once. (I was the person in charge of Trying New Stuff in our IT department, that's why.) But I highly disrecommend that idea.



Umm I think we are going slightly off track here. I don't need to write web programs for the ibm i. It's a new web application that's I wanna create for employee performance management and I have decided to do that using nodejs. What I am looking for is guidance/tutorials on how multi user web apps are created using node js. Hello
 
Paul Clapham
Marshal
Posts: 25823
69
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sorry 'bout that. Anyway, your web searches might turn up better information if you omit the phrase "multi-user". As somebody said earlier, web applications are by definition meant to support many users.
 
This tiny ad will self destruct in five seconds.
Thread Boost feature
https://coderanch.com/t/674455/Thread-Boost-feature
    Bookmark Topic Watch Topic
  • New Topic