Git Product home page Git Product logo

replacement-system's Introduction

P1-Project - Replacement System

This program finds a replacement for an absent employee, based on rules and legislation. The program is intended for small businesses, who are not already using large scale scheduling systems, that deal with absenteeism natively.

Getting Started

To get a local copy up and running, follow these steps.

Installation

  1. Clone the repository
git clone https://github.com/KarmaKamikaze/Replacement-System.git
  1. Go to the project folder and make the .exe file
make
  1. Run the program from your terminal
./replacer.exe

License

Distributed under the GNU General Public License v3.0 License. See LICENSE for more information.

Contact

Project Link: https://github.com/KarmaKamikaze/Replacement-System

replacement-system's People

Contributors

karmakamikaze avatar lass5588 avatar lildhansen avatar sarmisuper avatar selectionator avatar simonprasmussen avatar wassawroki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

replacement-system's Issues

Section: Replacement strategies


due: 2020-11-04

Write section Replacement strategies in the report.
Remember to include empirical data to support our decisions.

  • How are employees replaced during sickness?
  • How does these strategies affect the employees and managers?
  • Does it tend to be inefficient?

Opskriv program funktionaliteter

Goal: kvalificeret bud på afløser ved pludselig sygemelding

Input: vagtplan + historik (tag højde for 4 måneder), medarbejderliste

Userinput: Den syge, dato,

Individuelle funktioner og funktionaliteter er beskrevet i GitHub issues.

Interesentanalyse

Systime link

  • Brainstorm
  • Offentligt vs private marked (regler)
  • Sortéring
  • Beskriv interesenterne krav og deres betydning for projektet.
  • Prioritering af interesenterne
  • Vi skal identificere interessante interessenter.
  • Vi skal gruppere de identificerede interessenter.
  • Vi skal beskrive interessenternes krav og betydning.
  • Vi skal prioritere interessenterne efter vigtighed for vores projekt.
  • Vi skal afslutningsvis inddrage vores nye viden i vores problemanalyse.

Section: Job satisfaction

Write section Worker satisfaction in the report.
Remember to include empirical data to support our decisions.

Split functions into other libraries

Replacer.c is full of position related functions and a few file functions for the employees. We need to come up with a better library structure for the project and split functions up into recognizable sections.

Import Employee from .csv-file

Input: Pointer til employee struct
Output: int - Number of Employees. Returnerer det indlæste employee struct gennem en output parameter.

Funktionen indlæser .csv-filen gennem en for-løkke og fylder dermed et array af employee structs, som den til sidst returnere. Denne struct kan derefter printes og manipuleres af andre dele af programmet.

Final problem statement


due: 2020-11-07

  • Fremtrylle den endelige problemformulering

Dette vil være sidste led i problemanalyse-fasen, som har deadline til status seminariet.

Præsentation til statusseminar

Indhold (in no particular order):
Faglige indhold og findings i problemanalyse
Problemformulering - forklares, begrundes, diskuteres.
Planer for problemløsning og programmeringen
Samarbejde + arbejdsprocess (processanalyse + gruppekontrakt + vejlederkontrakt)

Give a qualified proposal for optimal possible replacements

Things it needs to consider in the proposal for the optimal possible replacement:

  • Legislation.

  • Roles & qualifications

  • Youth worker or not

  • Weekday availability

  • Shifting roles and positions around between the people on the current shift if necessary

  • Grouping possible replacements in categories
    -Cost
    -Same roles as absent employees
    -Weekday availability

Section: Consequences of employee dissatisfaction


due: 2020-11-04

Write section Consequences of employee dissatisfaction in the report.
Remember to include empirical data to support our decisions.

This section consists of the following subsections:

  • Economy
  • Vicious cycle

Laws & collective agreements pertaining to small businesses


due: 2020-11-04

Write about laws & collective agreements (overenskomster) for small businesses.
Encompasses laws & collective agreements for small businesses: This can focus on retail and restaurant industy?

Talks about laws for both adults and youths under the age of 18, since a lot of small businesses in the retail and restaurant industry uses youth workers.

The challenges these propose in scheduling shifts.

Product specification/explanation?

Consensus: Det skal være et mere overordnet afsnit som udligner de store karikature og aspekter af programmet og forklarer om dets funktionalitet og formål. Ikke de nitty gritty detaljer eller teknikaliteter

Interviewguide

Interessante interviewees

  • Starbucks
  • Føtex (Tobias)
  • Formater og indsæt interviewguiden som bilag i rapporten

Jeg har uploadet en tidligere interviewguide, så det er muligt at se hvilke elementer den skal indeholde.
Interviewguide.pdf

Inddragelse af satisfaction, samfundsøkonomi & fairness

  • Snak om job satisfaction - hvorfor har vi det med?

  • Economy - ift samfundsøko + firmaøko - afhjælper vi rent faktisk disse?

  • Er det ikke problematikken for managers og call-ins som er hvad vi prøver at løse og peger på som problemet?

Vi nævner problematikker, men løser dem ikke, vi løser en anden problematik?

function som scanner positions fra brugeren ind i et array

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

CSV-fil med alle positioner

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Gennemgå MoSCoW for "løse" ord

Danny kommenterede på MoSCoW analysen. Vi bruger sommetider meget løse ord, men vi skulle gerne kunne specificere vores produkt ud fra denne.

Section: Define Fairness

Snak med Starbucks head manager igen for at høre hvad hun mener med fairness.
Kom med vores bud på fairness begrebet.

Skal fairnes sdefineres på hvordan interviewees definerer det?

Or... Måske sna kmed person igen om hvad fainress egentlig betyder og hvordan ser det ud - så vi kan inkorporere det og bruge det til at forbedre vores system.

Skal vi holde fairness defined by boss op mod videnskabelige fairness? - De er måske ikke det samme fordi det er to forskellige begreber - da det måske blot er ord for to forskellige ting.

Fairness er ogås langt hen af vejen subjektivt – så svært at endeligt definere.

Fairness skal defineres – hvad mener vi, hvad mener interviewee, hvad mender videnskaben, etc.

For at vi kan inkorporere fairness skal vi finde ud af what it is (what are those? Or: it is what it is?).

Mulig fjelkilde ift fairness –hvis folk bare er brainwashed og tænker business as usual og derfor ikke tænker det er unfair at de bliver kaldt ind, etc. Derfor: da vi ikke har udvalgt folk based på hvor lang tid de har været ansat og hvor jaded de er ift om det er unfair/fair - er mulig fejlkilde ift. Hvad tænker er fair.

Konkurrentanalyse

Mulige konkurrenter
Kræver løbende opdatering

  • Quinyx
  • Plango (free)
  • PCD
  • Appvagt

Kilder er indberettet problematisk


due: 2020-11-04

Vi skal lige have alle til at ordne deres kilder, som allerede er brugt i rapporten. For fremtiden sikrer man sig at alle felter, der er relevante, er udfyldte på forhånd, hvorefter man indsætter kilden i teksten. Dette sparer os for en masse tid senere.

Ting man skal være ops på:

  • Felterne for forfatter og dato på publikationen skal altid indføres. Nogle gange kan man være nødsaget til at manuelt tilrettet disse i Zotero. Kontrollér disse før kilden anvendes i rapporten.
  • Kilder placeres umildbart efter punktum. Er der mere end én kilde til et afsnit skrives de således, efter punktum, uden mellemrum: .\citep{kilde1}\citep{kilde2}
  • Undersøg altid hvordan kilderne ser ud ved at compile rapporten. Når rapporten bliver lang nok, kommer det til at tage meget lang tid at finde disse fejl, især fordi vi benytter IEEE citeringsmetoden.

Gruppemøde d. 26/11

Vi holder et gruppemøde d. 26/11 for at følge op på vejledermødet, samt planlægge udviklingsforløbet.

Skal besluttes før mødet:

  • Skal vi have kage?
  • Da svaret er ja, hvorfra skal vi have kage?

Midlertidig dagsorden:

  • Opsamling på vejledermødet
  • Planlægning af det overordnede program i sin helhed
  • To-do's og planlægning af første sprint
  • Programmeringsgrupper

Keep track of legalities and legislature when figuring out who can do a shift

48 timer: look for current schedule, and look 120 days back (this can be done with day_in_year number associated with structs to go back) take mean average and check if over 48 hours.

11 timer regel: tjek om vagt der er 1 day bagefter og foran OG IF der er:
om der så er mindst 11 timer mellem shift_ned-shift_start OG/ELLER om shift_start - shift_end

6 dage i træk højst. kør array igennem og lav check for om nogen har vagter som KUN er adskilt af i dag, hvis den har går en counter op (j++) og den lagrer en integer værdi for hvor det var denne dag var og så fortsætter den med at se hvor mange dage der er i træk, komemr den igen til et tidspunkt hvor der ikke er en vagt, så stopper denne counter og den sætter hvilket element den skal gå fra nu til den lagrede integer værdi hvor den så starter med at tælle på samme må.

Section: methods


due: 2020-11-04

Write methods:
group's experience - not enough
interviews - specific cases
scientific articles - more general empiri

Import Schedule (& roles associated w. shifts) from .csv-files

The 4 months are arranged as an array of structs, where each day is a struct and the components are the shifts that need to be filled on the current day and the roles required. A component in this is also, who has filled in the shift.

input: .csv-file with the shifts
output: having imported the .csv-file and filled an array of struct with its data.

Remove Employee

Input parametrer: employee arrayet (består af structs).
User Input: Fuld navn.
Output: Employee arrayet. employees' plads i arrayet bliver decreementet med 1.

Fjerner employee ved at indskrive employees navn og decrementet alle array-positioner i arrayed med 1.

Revidering af interviewmethods

Nævn i interviewmethods:

At vi har oversat essensen af hvad de siger til engelsk - de er ik transkriperet

Hvorfor vi har interviewet dem på dansk (they stupid 9+10)

Hvordan snakker vi med dem og optager det – det er audiorecorded

Hvad har vi sagt omkrign interviewet til dem – hvad det skal bruges til, etc.

Hvorfor vælger vi ikke at kigge på alle de mindste virksomheder. & hvorfor vælger vi at kigge på mindre virksomheder og ikke de helst store? (Quinix). - America explain.

Forklar hvorfor kun interviewer de små virksomheder – dette betyder jo at vi allerde har truffe tet kinda valg om vores fokusgruppe.

Forklar hvorfor snakker med Nordcom hvis vi allerde har demmed dem irrellevante for os.

Skriv hvor store virksomheder er ift. Antallet af ansatte – en tabel

Change coffee shop -> business i restauration industry

Edit employee on shifts

Input: .csv-file med skema, medarbejder structen for de to personer (den der skal slettes og tilføjes).
User input: vagten in question som skal tilføjes/fjernes
Output: .csv-file med fjernet/tilføjet vagt.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.