inception - Rut-B/TM-COSMETICS GitHub Wiki

Development methods:

we will develop the application in the agile method- so we will be able to follow up in a better way after
the critical thingsin the project -and make sure that they are really done on time as needed! The method is also good for our customers- people from outside the "world of software"- after every iteration
customers could see the progress of the project and give feedback.
to read more about the scrum (agile) method go to: https://en.wikipedia.org/wiki/Agile_software_development
In order to have the project ready on time we will meet - the whole team at least once in 3 weeks.

application content:

The appellation will have basic options with extension to additional functions for the cosmetician.
Customer Functions:
after registering to the system the costumer will be able to do one or more of the following options:
choose the treatment type-for info about it and to view available treatment times, Setting an appointment and a reminder for it,view info about the institute,leave a meesage to the institute, order a particular product (may be expanded later). Additional functions for the Institute's cosmetologist:
Approval of customers and their joining to the service,Entering general information, Update prices,add new treatment, Send a message to many customers, View messages and answer questions, Possibility of managing the stock of products used by the institute, Option to sell products (possibly as an extension below).

Initial planning and evaluation:

  • Meet with the customers and prepare documents of the software requirement specifications- this part will include
    the general design of the system.
    We will give this step sround 1 iteration (3 weeks).
  • Prepare the UI (GUI) in order to show the customers.
    We will give this step around 2 weeks.
  • From now on the team will divide into 2 sub-teams:
    • The first will develop the app for the customers.
    • The second will develop the app for the cosmetician.
      We will give this step around 5 weeks (1.5 iterations).
  • Integration between the 2 apps so they share data and work together.
    We will give this step around 2 weeks.
  • validation- all the team will participate in intensive validation process.
    We will give this step around 1 week.

Risk management:

  • There may be confusion in understanding requirements because the client is not from the programming world.
  • It is possible that the customer will not be interested in the future out of fear of exposure to the various issues (the application store the data of the customer, this mean that there entering can will be calculate by the tax authorities)
  • It is possible that there will still be trouble in managing the times since some customers do not have access to the Internet.
  • The duration of development will be short, so there is a risk that project won't be finished.
  • the team has many participants so there is risk that team will not be able to cooperate well together.
  • this application can be developed by someone else and be distributed before we will finish, so we can loose the customers.

we plan to deal with these risks by Creating meetings with the Institute, and developing in the AGILE method, so that the client will be able to view the development more clearly and to comment on the development on an ongoing basis. and by estimating the size of customers who do not have an internet network,and finding a suitable solution.

How we will develop our product:

  • As explained before our product is a web app, so we will develop it with angular in the client side
  • The developing env. will be visual code.
  • For the system's DB we will use a google's technology called firebase.
  • The server side will be developed using nodejs.
    Of course' we take into consideration changes in these plans if when going deeper into design a different technology will seem better for us.
  • We will probably (depends on amount of features that we will actually develop) contact email\ sms servers.

product distributing:

we will distribute our pruduct using heroku.

code sharing:

we will share our code via github.

Coding Conventions:

We will follow google's coding conventions.

key components of the product:

there is main diagram of scenarios in the application developing.

  1. sequence diagram-for setting a turn scenario:
    this is main scenario:

sequence diagram-for setting a turn scenario

2.sequence diagram-for sending message scenario: this scenario allow to cosmetician sending message to patients by the easy way.

sequence diagram-for sending message scenario

3.sequence diagram-for order item scenario: this scenario allow to patient to order items that cosmetician, to cosmetician has a storing of items when the patient order item, first checking if this item in the store otherwise the system add the items to order list. sequence diagram-for order item scenario

⚠️ **GitHub.com Fallback** ⚠️