henrym2 / sweng-11 Goto Github PK
View Code? Open in Web Editor NEWSoftware engineering project group 11 repository
Software engineering project group 11 repository
We need to setup a react enviroment with typescript
The following example should be enough to get us started
Create react app with typescript
Time estimate: 2 - 3 days
The current basic express app is okay but should be extended to help on boarding and to make sure development is clean
We need for Microsoft employees to be able to login using their Microsoft credentials. Most likely through OAuth
Time estimate: 4 - 5 days? depends on how complex or awkward Oauth gets
Need to write the requirements document for Macu, Due on 4th week of college.
The Stretch goal for the admin page breaks down into a couple of different features. Though its probably work making a quick design for each of them even if we don't actually build each feature.
This 'Feature' is pretty in flux, we'll only work on the bits we need and theres no huge bother in not getting bits done if we don't decide to do the stretches
Time estimation: 5-6 Days
Prepare requirements presentation for Tuesday the 11th. #1
We need to finalize a document that covers our deliverable to microsoft.
This should include
Accessibility is paramount in the construction of any web application. In our case we need to ensure both of the following are met.
These are testable and should be ensured with every release.
The expected sensor data schema must be agreed on. At present I would expect it to look like the following. Please comment any other specification changes. I would imagine that once every minute or once every 5 minutes would suffice.
{
"id": "String",
"location": "String",
"temperature": "Float",
"time": "timeStamp (String)"
}
Time estimate 1 day
All machines need to have nodejs installed and setup to beginning working on it.
We need to design and declare the information that we plan on providing Maintenance and also how we would describe the request to increase the temperature in a particular location
Time estimate: 1-2 days
Write up a list of what features/functionality should be included in the Admin panel. We'll derive our wireframes and layout from this.
To keep in line with making the system ready for production some form of monitoring, logging and other CI supports should be built.
Time estimate: 1 or 2 weeks
We need a basic express app framework setup for the backend
This should include the directory structure.
It must also be committed to github.
Time estimate: 2 days
This route, should take in the user submission from the front end. This should include their name, a timestamp and their "vote" in regards to satisfaction.
/userSubmission
{
"username": "String",
"satisfaction": "Integer",
"time": "TimeStamp (String)"
}
Time estimate 2-3 days
When a user attempts to vote, the backend service will check and see if the user has voted before.
If they have, the service will check to see if that vote was made in a recent timeframe (i.e 1 minute).
One of two things should happen after this check is made,
{ voted: true }
(Anything in italics is a change based on customer input)
We need to break down the larger Epics into smaller more sensibly sized tickets that include things like
Setup two routes: /submit and /admin
In our back-end service we need to be able to retrieve, manipulate and store IOT sensor data.
For now we can should probably mock this data from some simple service
Time estimate: 4 - 5 days, give or take setup time
We need to be able to tell maintenance that dissatisfaction has reached a critical level and that something needs to change.
Time estimation: 4 days, give or take Research time required for communication type.
Due 9th March
Create two scripts/tests for mocking API requests:
These scripts should be triggerable in the back end for testing completeness of the vote submission and temperature submission routes. The schemas should match what are decided in #34,#32 and #36
The customer wants us to be able to deploy the backend service on Azure for production.
Time estimate: Uh..not sure yet. 2 or 3 days if we get the frontend one done early?
In UserSubmissionPage.tsx, in the login() function, account for error cases - if the input is empty, null, etc. Maybe show an alert if so: "alert('Invalid input');" (this shows an alert to the user in the browser).
We need to, initially, be able to store submissions for individual users. Initially doing so in memory without stateless backups. Using a dictionary in NodeJs would make the most sense.
Time estimate: 2 days
A complicated frontend system for sure, this will have to be broken out into a few different tickets but we can list some here.
Prettttttty big feature
Time estimate: 2 and a half weeks, maybe
Draw up some basic mockups for the admin panel. Once approved these will be our blueprints for developing out the UI.
The largest stretch goal. Will need to be broken down again in the future.
This ticket/Feature is enormous, will definitely need help from clients
time estimation: 3 weeks+
The endpoint, using nodeJS should receive a POST request from the sensors. This post request should contain the data decided on in ticket #31.
/sensorSubmit
Time estimate: 2-3 days
We need a mechanism on the server side to alert Maintenance. At present this mechanism should send an email to maintenance alerting them that satisfaction has reached a critical mass and that the temperature should be changed. This function would be triggered by the algorithm decided in #33.
SendGrid is a potential solution for this issue.
Time estimate: 3-4 days
Need to design the following pages
Microsoft suggested we check out Office UI Fabric
Admittedly for the MVP those two pages could be made into one?
Probably should MockFlow for wireframing? Maybe overkill for the start
Time estimate : 1 or 2 days max
This shouldn't be too hard I imagine, but worth taking the time to figure it out carefully
time estimation: 1 week (give or take)
To prevent over notification of maintenance we should store the last result of the last aggregate of votes. This should then be compared against the most recent results. If they are the same then another notification should (probably) not be sent. To be confirmed with client
Create a bot for Microsoft Teams that will:
Time estimate: 2 - 3 days
The backend needs to be able to receive and manipulate submission made by users
For some quick reading on what an API actually is see WTF is an API
Time estimate: 3-4 days
To ensure that emails are to a high standard and are readable we should build a simple engine for creating emails as opposed to just appending strings. The basics of this should include:
Users are going to submit their current satisfaction with the current temperature. How this question is asked should be irrelevant to the general algorithm. It needs to be able to do the following.
Time estimate 2-3 days
If we're going to display data on a heatmap we're going to need a sensible way to supply it
Time estimate: 1 and a half weeks (give or take)
Related to #14
Build out the submission page which will
Time estimate: 4-5 days, factoring in setup time
Blocked by #3
As per client requirements, the product needs to be deploy-able on Azure cloud services.
We need to
Time estimate: 3-4 days
If we're using Oauth we need to have a new login or submission page.
Time estimate: 4 -5 days, depending on Oauth difficulties and testing with the backend
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.