Giter Site home page Giter Site logo

employee-manager-frontend's Introduction

Project Name

​Employee Manager

Developers

​Jesus Benages , Miguel Angel Moreno , Marc Benaiges

Link to App:

https://employeemanager-ca333.firebaseapp.com/login

  • use in mode mobile device at browser, iphone X prefered

Description

A web-app where you can manage the task and schedules of your employes

User Stories

  • 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

Backlog

​- Second User

  • General Calendar

  • Import Data to other format

  • Be able to confirm the schedule

  • ...

Client

​medium and small companies

Routes

| 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 |

Components

  • Pages:

    • Home

    • User

    • Calendar

  • Components:

    • EmployeeCard

    • EmployesList

    • NavBar

    • Date

    • Schedule

    • CreateTaskForm

    • CreateEmployeDataForm

    • CreateEmployeScheduleForm

    • EditTaskForm

    • EditEmployeScheduleForm

    • EditEmployeDataForm

Services

  • 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)

Server

Models

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

API Endpoints (backend routes)

  • 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

Links

Trello/Kanban

Link to your trello board or picture of your physical board

Git

The url to your repository and to your deployed project

Client repository Link

Server repository Link

Deploy Link

Slides

The url to your presentation slides

Slides Link

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.