Tuesday, 24 September 2019

Student Peer Evaluation


Tech Stack used for Development

Front End/ UI : HTML5,CSS,ReactJS Components, JavaScript(for interaction,AJAX calls and JSON parsing) Back End : MySQL Database, PHP, phpAdmin,Bash Script, Linux Server, Python. Coding Method Adopted : Strictly structured Object Oriented Structure. Style of Development : Quick paced test driven Agile development.
The Student Peer Evaluation web app was done as part of a curricular assignment for the course Software Engineering Concepts at University at Buffalo as a semester long project. I am writing a detailed description of how the project was done below.

Key Features of the Web App

  • Email ID entered is validated to see if it is a student ID.
  • Encrypted and hashed OTP sent to student's email for verification.
  • Each unique OTP received via email expires in 15 mins of receiving.
  • Session cookies maintained to carry data through different pages of app.
  • Each student can select from the list of courses he/she is enrolled.
  • Personalized scoring screen based on selected courses
  • Scoring revealed to only concerned parties to ensure privacy.
  • Student data stored in different DBs for enhanced security.
  • Business logic built on solid Object Oriented PHP code.
  • Dynamic loading of pages based on database entries.
  • Students are given options to see/edit previous responses

Iteration Planning Phase

tools used : Gihub, ZenHub(for project planning and management)

Since we followed a test driven agile development method for development of this project. The instructor acted as the client at the beginning of each iteration. He would simply say in words what he needs without much details. Our team as project planners, will sit with him and inquire about the functionality he is specifying needs to do.
Fig: Zenhub board used for project planning


Once we are clear with the requirements, we then created user stories in a standard format that is understandable by the client who has zero to little knowledge in software design or development.

User Story Definition

A user story is a tool used in Agile software development to capture a description of a software feature from an end-user perspective. A user story describes the type of user, what they want and why. A user story helps to create a simplified description of a requirement. source: www.visual-paradigm.com
Fig: Screen Shot of a sample user story created on ZenHub

As soon as the user stories were created, we created the guidelines for user acceptance tests that the client validates and approves. Usually in a real life company setting, the client defines the UAT but since the client is the instructor, we had to create UATs too.

After the requirements phase was done, deadlines were set. The user story functionalities were divided into tasks and assigned to one or more of the team members.

Fig: Image showing the User Acceptance Tests with clear steps



User Acceptance Test(UAT)

User Acceptance is defined as a type of testing performed by the Client to certify the system with respect to the requirements that was agreed upon. Essentially it has to be easily understood by a non-technical client. 

Agile Project Development

tools used: HTML, CSS, JavaScript, PHP, SMTP, SQL

The final project with all the features was developed in four brief iterations each spaced over a period of 6 weeks during Summer 2019.

Each team member is assigned a few functionalities for development. We created Task Tests for each task which describes criteria to meet to know if the task is completed successfully.

All the tasks are linked to the User Story they belonged to in the first place.

Code Maintenance/Git versioning

Each new functionality added to the web app is committed to a remote local branch created from the develop branch. After the feature is completed, it is tested by the developer to pass the task test. After the code passes Unit Testing, it is committed to remote local branch.

Once the feature is confirmed to work as expected, the code is merged with the developed branch.
In the develop branch all the developers in the team perform Integration Testing on the feature to test if the new feature added does not affect the previous functionality.

Fig: Git code movement for development


After all the features pass the Integration Testing, the code is finally merged with the master branch and delivered to the client for approval.

Screenshots of the deployed Web App

The images given below are the screenshots of the demo of the deployed and live web app. Click on the images for a clearer view.

Descriptions in the order of pictures posted:
  1. Shows the email login screens for the UB students.
  2. Shows that wrong emails are validated and an error message pops up.
  3. Shows the course selection page that is personalized for each users depending upon the course he is enrolled in.
  4. Shows the page where he can see the previous scores he had given for his team members.
  5. Shows the page where he can edit the previous scores the he had given.

Code and Team Members

GitHub Repo
Karthik Vikram
Sidharth Mishra
Goutham Thota


Saturday, 18 June 2016

Tips for a better battery life

4000 mAh , 6000 mAh be it whatever , if you don't maintain your battery , it won't last for a day.
Android phones are up on the rise and recently phones with humongous battery capacity have caught the crowd's attention.

Few very useful tips

  • Charging habits : Keep this a routine.
Switch off phone --> Charge till 100%--> Pull plug as soon as fully charged --> Use till battery level goes under 10 % --> repeat the cycle

It is very hard to follow this routine , but I strictly adhered to this practice and my old phone had its battery intact in perfect condition for 4 whole years.

  • Match the ratings :
Phone chargers come in various ratings based on the ability of the batteries to accept the charge .The ratings are usually specified in Amps .The charger is basically a rectifier ( Converts AC to DC ) and voltage stabilizer coming in a small pack .








The charger ratings may be like 550 mA , 250 mA ,1000 mA . The more the rating the faster the charging process is , but not all phones can accept a higher rating charger than it is entitled to.

You may have a lot of phone that can fit into the same charger pin because the charging port sizes are almost standardized with all the companies except Apple. Plugging into any charger pin is not the same the as the one you are given from the company. To be on the safer side use only the charger given by your phone seller or if you are patient enough to check for the ratings , make sure that your battery's rating and the charger's rating match up perfectly.

If you happened to use the wrong rating charger regularly then your battery may buff up or leak, making it unusable.
  • Avoid using phone while charging:
The batteries are normally designed to either charge or discharge.If you use your phone while it is charging it will affect the phone's charging rate and cause adverse effects on the phones battery life.

  • Switch off things:
For a smooth charging it is recommended to switch off auto-brightness , wifi , bluetooth and anything that is not used at the moment. Putting the phone on flight mode might as well help.

  • Never use battery optimizer apps:
These apps never do what the promise to . They worsen the charging process . It is recommended that you uninstall any app that promises to boost battery charging etc:-


Monday, 21 May 2012

Power user @ Facebook [INFOGRAPHIC]

Power users .....! Who are they ?

POWER USER
Power users are those Facebook users who can do more in FB than what the average users do ... Suppose if normal users 'like' an average of 4 to 5 items a month , power users 'like' 4 to 5 items a day . That sounds pretty high for you right ? And if you come under the category of power users you are lucky .....

You might like to have a look at the Infographic by DemandForce

Wednesday, 16 May 2012

The Science of Projection keyboards

Most of us would have come to know that such things called 'Projection Keyboards' exists only after the video that featured the rumored iPhone 5 was put in Youtube . It happens .........!Sometimes great techs. like this don't get their recognition like the Android OS ,at its first ......

Optical keyboards are just like the same old favs. but it's way of reception of input is different .Let me get it clear . There is no difference except for the way you give the input to the device ....

HOW THEY WORK

I'm not gonna confuse you with the complex ' Text Book " Definitions ... I'll Compare the Normal one and the new one ..


  • The normal keyboard which you use has a few keys each one codes for a letter : Say 'A' , 'B' Etc :- . When you get to press one of those keys the circuit under it gets the signals . Then the signal gets processed and goes into the computer then onto the screen
  • The Scenario in Projection keyboards :- Here you don't have physical keys instead they can be called virtual  ....... the device projects light ( Infra Red light ) as the name says the keys are displayed in red colour .. The device has a light transmitter and a receiver ( More commonly called a camera ) to intercept the input ... When any key pressed there is a distraction and of course a reflection of the light emitted from the transmitter which the camera receives detects the angle at where there is a disturbance in the reception .. The circuit process the input and send them to the CPU 
ADVANTAGES OVER THE NORMAL ...

There are many but let me list a few 
  • Less space consumption 
  • Energy efficiency 
  • Modern 
  • Makes a way for a great leap of innovation in the light emission and reception technology 
CONDITIONS !

  • The keys work good only on a flat Non - Reflective surface like ( Office desk , Table Etc : - )


If you think this information is not enough , wait for a while while we get our next post on a detailed study on Projection keyboards ( More theoretical )

Monday, 2 April 2012

Things not to do with your Google Adsense



Making money online seems to be a simpler job than most other jobs ! And most probably Google adsense is the best way to make money online .

Samsung's Official Naming scheme

Naming scheme , it's with what Samsung has made it's phone reach the people this quick

Saturday, 17 March 2012

Get your new Pinterest profile in shape

Many people here surfing on the internet may have know about this "Pinterest" It's just another Facebbok ,Google Plus , Twitter like social networking site . Click here to know more 'bout it !

People who see your Pins would want to see who is behind those photos ! So i've got a few tips to get your profile in shape ! Things you've got to care for a better pinterest profile

Thursday, 15 March 2012

Pinterest(Infographics)

Pinterest ! What to say ?Its yet another Social network that has gained recognition as a good competitor in the race with others like Google + , Facebook , Twitter :- It's growth during the past few months is enormous we can say.

Sunday, 5 February 2012

Amazon kindle phones are on the way

The Amazon kindle fire tablets that was released last year saw a great welcome from the people all over the world catching a unshakable position in the Tablet market share of the last year statistics .

As per the news "Amazon" have decided to put hands into the Smartphones business. The so announced " Amazon kindle phone "  would have OMAP 4 processor. 

Android phones would run on Intel processors in 2012

Yes the most expected news is here ! In this year's CES Intel showed some of the prototypes of Android Phones fitted with a Intel chip( Intel atom processor - Single core ) on them working at Unimaginable speeds . 

Twitter Delicious Facebook Digg Stumbleupon Favorites More