lukashaertel / tss Goto Github PK
View Code? Open in Web Editor NEWTSS project for Java EE
TSS project for Java EE
The TSS MUST authenticate users prior to giving access to any data.
The TSS MUST use one of the database servers MySQL (preferred), PostgreSql, or JavaDB/Derby.
The TSS MUST provide assistants and supervisors with the ability to start a contract. Then, the contract changes from PREPARED to STARTED status.
The TSS MUST support English as user interface language.
The TSS MUST send a reminder mail to the supervisor and the assistants if the time sheet is in state SINGED_BY_EMPLOYEE. (then, the supervisor may reject or sign the time sheet)
The TSS MUST not delete time sheets that are in the SINGED_BY_SUPERVISOR state.
The TSS MUST provide supervisors with the ability to sign a time sheet that is in status SIGNED_BY_EMPLOYEE. Then, the time sheet changes to SIGNED_BY_SUPERVISOR status.
The TSS MUST ensure that start date, end date, frequency, hours per week, total hours due, vacation hours, working days per week, and vacation days per year can only be changed when the contract is in PREPARED status.
The TSS MUST set a contract to PREPARED status as soon as it is created.
The TSS MAY support mobile devices.
The TSS MUST contain (at least) two modules, the web module and the EJB module.
The TSS MUST be implemented according to the layered architecture (see rss-architecture document).
The TSS SHALL provide the users to choose their language.
The TSS MUST provide assistants, supervisors, and secretaries with the ability to archive time sheets that are in status SIGNED_BY_SUPERVISOR. Then, the time sheet changes to status ARCHIVED.
Before aborting a contract, the TSS SHALL warn the user if there are time sheets in state IN_PROGRESS that have entries. The user may then decide to not abort the contract yet.
The TSS MUST provide employees, assistants, supervisors, and secretaries with the ability to view contract statistics (e.g. sum of hours due, balance).
The TSS MUST provide administrators with the ability to delete contracts.
The TSS MAY provide employees and supervisors with the ability to digitally sign the time sheets.
The TSS MUST create all time sheets for a contract based on the time sheet frequency and the start and end dates of the contract as soon as the contract enters STARTED status.
The TSS MUST provide employees, assistants, supervisors, and secretaries with the ability to view time sheets.
The TSS MUST provide assistants, supervisors, and secretaries with the ability to print time sheets.
The TSS MUST ensure that archived time sheets can not be changed.
The TSS MUST set a contract to status ARCHIVED as soon as all time sheets of that contract are in status ARCHIVED.
The TSS MUST ensure that only contracts can be aborted whose time sheets are in status SIGNED_BY_SUPERVISOR or IN_PROGRESS.
The TSS MUST provide assistants and supervisors with the ability to abort a started contract.
Then, the contract changes from STARTED to ABORTED status.
The TSS MUST be able to determine whether a person is university staff member.
The TSS MUST delete time sheets 2 years after the archiving date. When all time sheets of a contract are deleted, the contract has to be deleted as well.
The TSS MUST be designed such that the user interface language can be switched.
The TSS MUST send a reminder mail to the secretaries if the time sheet is in state SIGNED_BY_SUPERVISOR.
The TSS MAY use third-party libraries that were not presented in the lecture/lab only after negotiation with the customer.
On the last day of a time sheet (either end of week or end of month), the TSS MUST send a reminder mail to the employee if the time sheet is in state IN_PROGRESS.
The TSS SHALL support German as user interface language.
The TSS MUST ensure that time sheet entries can only be added, changed, and removed when the time sheet is in IN_PROGRESS status and the contract of the time sheet is in STARTED status.
The TSS MAY support variable archive durations. In this case, the 2 years duration is not fixed, but can be stored per contract. The duration should have a default value of 2 years.
The TSS MUST provide employees with the ability to sign a time sheet. Then, the time sheet changes from IN_PROGRESS to SIGNED_BY_EMPLOYEE status.
The TSS SHALL provide assistants, supervisors, and secretaries with the ability to print contracts.
The TSS MUST calculate the total hours due, the vacation hours, the remaining hours due for HOURS_PER_WEEK contracts and take into account weekends and public holidays.
The TSS MUST be designed in a way that only authorized users may view/change/delete data. Access rules are based on the users affiliation (staff, student) as well as on the roles a user owns with respect to a contract.
The TSS MAY collect all reminders so that a person receives at most one e-mail per day.
The TSS MUST provide employees with the ability to manage time sheet entries.
The TSS SHALL use the Bootstrap CSS library.
The TSS MUST provide assistants and supervisors with the ability to manage contracts. Manage means „CRUD“ (Create, Read, Update, Delete).
The TSS MUST not delete time sheets that are in the SINGED_BY_EMPLOYEE state.
The TSS MUST provide assistants and supervisors with the ability to request changes to a time sheet that is in status SIGNED_BY_EMPLOYEE. Then, the time sheet changes to IN_PROGRESS status.
The TSS MUST delete time sheets in status IN_PROGRESS as soon as the time sheet contract status changes to ABORTED.
The TSS MUST support at least two user interface languages.
The TSS MAY send reminders to users in their preferred language.
The TSS SHALL be designed such that it can be used with different browsers. At least, FireFox, Safari, Chrome should be supported.
The TSS MUST record the date of abortion of a contract.
The TSS SHALL repeat reminders every day.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.