Payara Hackathon – Task Requirements

(Download the Task Requirements PDF here)

Task Summary

Remember: all apps must use Jakarta EE / MicroProfile exclusively, and Payara Platform.
Download latest versions of Payara Platform from Payara Platform Community Edition.

As Jakarta EE/MicroProfile is primarily a business application development platform, we ask you to build an application from one of the following application options:

  • Develop a School Management System app

  • Develop a Hospital Management System app

  • Develop a Mobile Money Wallet / Banking System app

Each contestant can make a single entry to any of the three areas.

As a pure Jakarta EE competition, the data and service layers must use Jakarta EE/MicroProfile exclusively. Contestants are free to either use Jakarta Faces for the UI or any JavaScript Framework. In this case, the service layer would be exposed as Jakarta REST resources to the client.

Contestants are NOT required to setup connections to external databases. The in-memory database provided by the Payara Platform through the default Jakarta EE datasource should suffice.

Submissions should be made via designated Payara Hackathon submission page by the 6th of March 23:59 GMT.

See below for more details.

Broad Requirements Overview

1. School Management System

Contestants that opt into this category are free to develop any application that is generally usable within an educational context. As all schools, irrespective of the level, have the same core needs, the application should feature some, but not necessarily all of the following:

  • Student Information

    • Personal Information

    • Assignments/Grades

    • Achievements

    • Extracurricular Activities

    • Attendance

  • Teacher Information

    • Personal Information

  • Class/Courses

  • Grade History

  • Fee Management

  • Admission Management

  • School Calendar/Activity Management

  • Library Management

  • Communication

    • Internal Communication

    • External Communication (SMS, Email)

The general idea is for the application to have a a fairly non-trivial use case for managing a typical school. From a technical perspective, an entry into this category should have:

  • A Data Layer

  • A Service Layer

  • A UI Layer

As a pure Jakarta EE competition, the data and service layers must use Jakarta EE/MicroProfile exclusively. Contestants are free to either use Jakarta Faces for the UI or any JavaScript Framework. In this case, the service layer would be exposed as Jakarta REST resources to the client.

Database

Contestants are NOT required to setup connections to external databases. The in-memory database provided by the Payara Platform through the default Jakarta EE datasource should suffice.

2. Hospital Management System

Contestants that opt into this category are free to develop a typical hospital management system that can be used to automate as many hospital tasks as possible. As all hospitals have the same core needs, the application should feature some, but not necessarily all of the following:

  • Management Level Features

    • Doctor schedule and appointment management

    • Pharmacy management

    • Operation schedule management

    • Food management for patients’ diets and hospital cafeteria

    • Ward management

    • Utilities expenditures, water, electricity consumption.

    • Laundry management

  • Patient Level Features

    • Patient registration

    • Patient admission management

    • Patient billing management

    • Patient notification and communication

    • Pharmacy information

The general idea is for the application to have a a fairly non-trivial use case for managing a typical hospital/clinic. From a technical perspective, an entry into this category should have:

  • A Data Layer

  • A Service Layer

  • A UI Layer

As a pure Jakarta EE competition, the data and service layers must use Jakarta EE/MicroProfile exclusively. Contestants are free to either use Jakarta Faces for the UI or any JavaScript Framework. In this case, the service layer would be exposed as Jakarta REST resources to the client.

Database

Contestants are NOT required to setup connections to external databases. The in-memory database provided by the Payara Platform through the default Jakarta EE datasource should suffice.

3. Mobile Money Wallet / Banking System

Contestants that opt into this category are free to develop a money management system. As all banks have core functions, an entry into this category should have some, but not necessarily all of the following features:

  • Client personal information

  • Balance management

  • Transaction management

  • Communication and notifications

  • Loan management

  • Report management

The general idea is for the application to have a a fairly non-trivial use case for managing a typical bank. From a technical perspective, an entry into this category should have:

  • A Data Layer

  • A Service Layer

  • A UI Layer

As a pure Jakarta EE competition, the data and service layers must use Jakarta EE/MicroProfile exclusively. Contestants are free to either use Jakarta Faces for the UI or any JavaScript Framework. In this case, the service layer would be exposed as Jakarta REST resources to the client.

Database

Contestants are NOT required to setup connections to external databases. The in-memory database provided by the Payara Platform through the default Jakarta EE datasource should suffice.

Submission Process

  • Build your application as an Apache Maven project on the provided starter template here.

  • Using a form on the Hackathon Task Submission Page  provide a URL to publicly visible code repository on GitHub for judging, using the same GitHub username as provided on your Hackathon registration form.

  • The submitted repo must have a Changelog file with a text description that describes the app, the structure of the code and how to run the code.

  • The code must be submitted under the Apache Open Source License.

  • Please read through the Hackathon Rules carefully before submitting.

  • Submit your App by Monday the 6th of March 23:59pm GMT.

Further Info

If you have any questions, make sure you join our live Q&A Session on Friday the 3rd of March at 3pm GMT, register here.

You can also contact us on hackathon@payara.fish

(Download the Task Requirements PDF here)

Back to top