Employee Manager
Jesus Benages , Miguel Angel Moreno , Marc Benaiges
https://employeemanager-ca333.firebaseapp.com/login
- use in mode mobile device at browser, iphone X prefered
A web-app where you can manage the task and schedules of your employes
-
404: As an anon/user I can see a 404 page if I try to reach a page that does not exist so that I know it's my fault
-
Signup: As an anon I can sign up in the platform
-
Login: As an user I can login to the platform
-
Logout: As an user I can logout from the platform so no one else can use it
-
Home: As an admin I can see all the status of my workers and click in each of them
-
Calendar: As an admin I can go to the calendar so I can see the schedule of my workers
-
Calendar: As an user I can go to the calendar so I can see the schedule of my company
-
Calendar Id: As an admin I can see particulary the schedule and the task of one worker
-
Calendar Id: As an user I can see my schedule and my own task so I can organice myself
-
Add worker: As an admin I can add a worker to my company so I can give him a profile and tasks
-
See status: As an admin I can check each status of my worker so I can controll who has accepted
-
Edit worker: As an admin I can edit my worker's profile so I can modify their schedule or task
-
Delete worker: As an admin I can delete a worker of my bussines
-
Profile: As an user I can go to my profile so I can see my data, edit it and do log out
- Second User
-
General Calendar
-
Import Data to other format
-
Be able to confirm the schedule
-
...
medium and small companies
| Method | Path | Component | Permissions | Behavior |
|--------|------|--------|--| -------|
| get
| /
| HomePageComponent| public | just promotional copy|
| post
| /auth/signup
| SignupPageComponent| anon only| signup form, link to login, navigate to homepage after signup|
| post
| /auth/login
| LoginPageComponent | anon only |login form, link to signup, navigate to homepage after login |
| post
| /auth/logout
| -------| anon only | navigate to homepage after logout, expire session |
| get
| /calendar
|-----| user and admin | shows all task and a general schedule
| get
| /calendar/:id
| -----| user and admin | show a worker calendar with his/her task
| put
| /calendar/:id/
|-------- | admin | edit the task and the schedule of a worker
| get
| /employee/new
| -------- | admin | add a worker view
| get
| /employee/new/data
| -------- | admin | creating user data view
| get
| /employee/new/schedule
|-------- | admin | creating user schedule view
| post
| /employee/new/data
| -------- | admin | create the user's data
| post
| /employee/new/schedule
| -------- | admin |create the user's schedule
| get
| /user
| --------| user - admin | user can see his/her own profile
| put
| /user
| -------- | user - admin| user can edit his/her own profile
| get
| /user/:id/
|-------- | user - admin | show a woker's editting schedule and data
| get
| /user/:id/data
|-------- | admin| show a worker's own data to edit it
| get
| /user/:id/schedule
|-------- | admin | show a worker's own schedule to edit it
| put
| /user/:id/data
|-------- | admin | edit the worker's data
| put
| /user/:id/schedule
|-------- | admin | edit the worker's schedule
| get
| **
| NotFoundPageComponent | public |
-
Pages:
-
Home
-
User
-
Calendar
-
-
Components:
-
EmployeeCard
-
EmployesList
-
NavBar
-
Date
-
Schedule
-
CreateTaskForm
-
CreateEmployeDataForm
-
CreateEmployeScheduleForm
-
EditTaskForm
-
EditEmployeScheduleForm
-
EditEmployeDataForm
-
-
Auth Service
-
auth.login(user)
-
auth.signup(user)
-
auth.logout()
-
auth.me()
-
auth.getUser() // synchronous
-
Employees Service
-
employee.list()
-
employee.create(data)
-
employee.create(schedule)
-
employee.detail(id)
-
employee.delete(id)
Admin model
username - String // required & unique
password - String // required
workers - Array // ref worker
company - String // required
tlf - Number // required
adress - String // required
E-mail - String // required
worker model
workername - String // required
password - String // required
address - String // required
tlf - Number // required
tasks - Array // ref task model
Dni - String // required & unique
E-mail - String // required
schedule - Array [{days:[horaInicio1, HoraFinal1, horaInicio2, HoraFinal2]}]
task model
taskdescription - String // required
date - Date // required
initialTime - time // required
endTime - time // required
-
GET /auth/me
-
404 if no user in session
-
200 with user object
-
-
POST /auth/signup
-
401 if user logged in
-
body:
-
username
-
email
-
password
-
-
validation
-
fields not empty (422)
-
user not exists (409)
-
-
create user with encrypted password
-
store user in session
-
200 with user object
-
-
POST /auth/login
-
401 if user logged in
-
body:
-
username
-
password
-
rol
-
-
validation
-
fields not empty (422)
-
user exists (404)
-
password matches (404)
-
-
store user in session
-
200 with user object
-
-
POST /auth/logout
-
body: (empty)
-
204
-
-
GET /
-
GET /adduser/
-
GET /adduser/data
-
GET /adduser/schedule
-
POST /adduser/data
-
POST /adduser/schedule
-
GET /calendar/
-
GET /calendar/:id/
-
PUT /calendar/:id/
-
GET /user/
-
PUT /user/
-
GET /user/:id/
-
GET /user/:id/data
-
GET /user/:id/schedule
-
PUT /user/:id/data
-
PUT /user/:id/schedule
-
DELETE /user/:id
Link to your trello board or picture of your physical board
The url to your repository and to your deployed project
The url to your presentation slides