Need ideas from Seniors.

I am working on outsystem from almost 1.5 months and i ended up the training and also make some guided reactive web app ,Now i want to make a reactive web app myself but what type of app should i have to make in which i fully test my skills as a reactive web developer ,Need some ideas thanks for your time i appreciate it. And also what is this training planner in outsystems how its helpfull?

Hi Haseeb , 

You have to try Patient Portal App and Employee Directory App

Or you can also make online exam portal , Office Expenses , HR portal , E-commerce app and many more like that 

let me know if you want more 


Arif .

HR portal will be good ,can you explain it or give some requirements about it so i should start working on it.


I love to use ChatGPT for this sort of questions. I also use it to verify my own conclusions for reviews for example. You will be surprised at what the tool adds in value.


I am a developer in OutSystems. I want to challenge my skills and create an HR app. Give me 10 requirements that an HR app should have ranging from basic to highly technical.


Sure, I can help you with that! Here are 10 requirements for an HR app, ranging from basic to highly technical:

  1. User Authentication: Provide secure login functionality for employees and administrators to access the HR app.

  2. Employee Profiles: Allow users to create and manage employee profiles, including personal details, job history, and contact information.

  3. Leave Management: Enable employees to request and manage their leave, including vacation, sick leave, and other types of absences.

  4. Attendance Tracking: Implement a system to track employee attendance, including clocking in/out and monitoring work hours.

  5. Performance Management: Provide a framework for setting goals, conducting employee evaluations, and tracking performance metrics.

  6. Benefits Management: Allow employees to view and manage their benefits information, such as medical insurance, retirement plans, and other perks.

  7. Training and Development: Enable employees to access training materials, enroll in courses, and manage their professional development.

  8. Employee Directory: Create a central directory of all employees within the organization, complete with contact information and reporting hierarchies.

  9. Recruitment and Hiring: Streamline the recruitment process by including features for job postings, applicant tracking, and interview scheduling.

  10. Advanced Analytics: Integrate analytics capabilities to provide insights into HR metrics, such as employee turnover, performance trends, and workforce demographics.

These requirements cover a range of basic functionalities to more advanced features that can enhance the HR app's efficiency and effectiveness.

Hope this helps,


I need some help with its data model soo thanks alot for now i will start working will come again when stuck.

Glad to hear that this has giving you some needed inspiration and direction :)

If any of the answers has helpt you, please mark that answer as a solution so that others can benefit from this more easily. 

As for the data model. I can highly recommend involving ChatGPT for this. It will really provide some guidance. Know that Bing Chat is ChatGPT and free to use. It is even accessible from your Edge browser (upper right corner, the blue Bing icon). I have asked it for a database model and he gave some suggestions. I will add a small portion of the response here to get you started. 


Sure, I can help you with that. Here is a possible database model for an HR app that does the functions you listed:

!Database Model

The database model consists of the following tables:

  • users: This table stores the login credentials and roles of the users of the HR app. It has a one-to-one relationship with the employees table, which means that each user is an employee and vice versa.
  • employees: This table stores the personal details, job history, and contact information of the employees. It has a one-to-many relationship with the leave_requests, attendance_records, performance_reviews, benefits_enrollments, and training_enrollments tables, which means that each employee can have multiple records in these tables.
  • leave_requests: This table stores the requests and approvals for different types of leave, such as vacation, sick leave, and other absences. It has a one-to-many relationship with the leave_types table, which means that each leave request can have only one leave type, but each leave type can have multiple leave requests.
  • leave_types: This table stores the predefined categories of leave, such as annual, medical, maternity, etc. It also stores the rules and policies for each leave type, such as the maximum number of days allowed, the eligibility criteria, etc.
  • attendance_records: This table stores the clock-in and clock-out times and the work hours of the employees. It also stores the status of the attendance, such as present, absent, late, etc.
  • and a whole lot more

I would not use the entity names though. They are horrible. For example, you don't use plural names for entities if you ask me. 

Hope this helps,


Btw from where should i get a idea which entities should this app have in database ,this is the first step defining the data model and should i define the roles at start like employee admin etc

ahh i use gpt but it confuse me sometimes.

Hi Haseeb , 

There are many thing you can implement in HR Poral Application like 

  1. Time and Attendance
  2. Leave Management
  3. Employee Directory ( Employee records and there details )
  4. Chats
  5. Employee Self Service ( Profile )
  6. Custom reports
  7. Sending Emails 
  8. Notepad 
  9. Custom Login

Points to be noted 

This is the required details to start your application . You can follow these point to be good in outsystems . 

Hope you understood the app requirement .



I would start with creating a database model. Use the "Entity Diagram" to get a visual representation of your model. 

When you have created the model you can think about the possible roles but I would keep these to a minimum at start. "Employee" and "HREmployee" would be sufficient at the start if you ask me. 

how i make types in entities like i have a entity benefits and in benefits i have attribute benefit type e.g Medical insurance,Retirement so is it correct or i make it a static entity.

If the types of benefits doesn't change then a static entity would be sufficient. But if you can think of any reason why it would change frequently you should implement it with a regular entity. With that a PO can update the data themselves and they don't need a new version of the app made available with a new value in the static entity.  

But since you are doing this for a learning task make it yourself a difficult as possible and make it a regular entity. That way you also need to think about the exposure of the data and how you are going to handle it internally in the app itself.

here is my datamodel and entities please review it once if its correct also tell me the purpose of employe organization and organization in employe directory.

HR Portal.oml

Hi Vincent,

Please do not use ChatGPT. More often than not it's incorrect, which can't be spotted by those who need it.

Hi Killian,

The reply of any ai needs to be verified at all times by the person initiating the conversation with the ai, that so much is true. But the fact that it is more often incorrect then correct is highly depended on the prompt provided. 

You can, for example, add test data, expected output and tests to verify the output to the prompt which will make the response of the ai predictable and reliable. For the use-case here that was of course way to much and totally not needed. But ChatGPT has value, for all of us. I would really recommend to make use of it but also be critical. Don't accept any answer for the truth if your question was "easy", always verify. AI will not go away, it will not replace true expert knowledge. But it will help finding the way towards an answer. 

For this use case it gives nice pointers on where to look for improvements and for idea's. You still need to investigate and test yourself. You still need to build the needed knowledge to implement it yourself. 

And I will always include the questions and the answers as-is with clear indication that it came from ChatGPT. I think that this should be a mandatory inclusion when someone posts an answer from AI on a forum like this (by taking the pinned message from Daniel Kuhlmann into consideration). 

If needed we lets further discuss this via private message:).



I like to challenge myself by creating an app that could actually be used in the field of work that I am (or want to get in). By having an app that could have an actual meaning is more motivating that just "a good trainings case". 

I work in a dredging / construction company. If I would need a challenging app with a lot of features I would go the foundation of our company and that is our vessels, the type of work they do, the interaction with the crew and land (including layout of the work and rolling equipment). 

With this I think I would create an app where;

  • We can keep track of crew on a vessel
  • Inform the crew of where they will work in the coming months (including push notifications and calendar integration)
  • Provide the crew with all relevant documents (like airplane tickets)
  • Allow the vessel to keep track of all the actions they perform (primary function only)
  • Keep track of all movements of a vessel
  • Keep track of all metrics the vessel provides
  • Get actual and upcoming weather data
  • Display all sorts of data on a map or dashboard
  • Keep track of the current progress made in the project
  • Keep track of all rolling equipment and what they are doing and are going to do
  • Show all this on a different map (or the same but in a different layer)
  • etc etc 

By keeping the app functionality to your actual (or wanted) working environment you will get the inspiration needed. Since it is a learning opportunity you don't need to have a valid business case. Just go all out. Do you want to have all communications via a service bus, go for it. Do you want to use Case Management Framework, do it! Do you want to write each custom component yourself, you guessed it, best decision ever!! 

Hope this helps,


I'm on the same boat with Vincent. Create something that benefits you/your company instead of just creating an app for apps sake.

"what type of app should i have to make in which i fully test my skills as a reactive web developer "

For full apps, I'd start with something I personally need or find annoying on other apps I use, as then there's extra motivation "oompfh" to actually do the thing. Usually these have been tracking apps for very specific time, budget or maintenance related things, bit like Vincent elaborated above with all those things related to vessels and crew. If company time is allowed to work on this kind of practice apps, then I'd also gravitate towards an app which would benefit the company. 

For personal use apps, I've done: 

  • hobby / volunteering related apps
  • house/apartment maintenance trackers
  • kids attendance to daycare tracker
  • app for mapping and visualizing pain points in my body when I turned 30

That being said and strictly from reactive developer point of view: mostly I don't create full-blown apps, but I find myself quite often building small demo apps about an interesting feature or a new thing. Pick an OutSystems feature or find out how to implement specific piece of web tech on OutSystems (SVG:s, CSS or javascript).

As a reactive developer testbed, implementing a pixel-perfect copy of something that already exists is also a very good exercise. Again, this does not need to be a full in-depth copy, just a portion is usually well enough for an exercise.



You can try creating the task tracking application.




You can also try you hands on doctor appointment kind of app.

This will include patients details, patient can book appointments, doctors availability, patients details displayed for their doctors to keep track, etc.

Thanks & Regards,

Piyali Saha

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.