The goal of milestone three is to work on our initial prototype based on our general design and plans from our previous Milestones 1 and 2.

Prototype

Our prototype builds our minimum viable product (MVP) of Pisign. It also consists of technical contributions from all group members and is usable by all group members.

a. Display a grid of widgets

b. Allow user to move, resize and add/delete widgets

c. Widgets for MVP: Time, System Info, Weather, Picture Slideshow, and Twitter Widget

d. Add API keys to widget config from front-end

e. Real time updating of data with streaming/websockets

f. Tests for Front-end and Back-end

Prototype

Frontend: Widget Details and Next Steps

a. Time Widget: includes city, time and date

b. System Info Widget: includes memory available, memory used, memory usage, disk space available, disk space used and disk usage.

c. Weather Widget: includes temperature, highs and lows

d. Picture Slideshow: includes picture selection and speed

e. Twitter Widget: displays a user’s twitter posts

f. Text Widget: displays plaintext and a title

Next Steps:

Make widgets more appealing

Add more customizability for each of the widgets, like changing background color, font size, etc.

Add testing

Backend: Problems and Next Steps

Major Problems: syncing everything with frontend changes and communicating client-wide messages.

Picture of Updated Pisign architecture

Next Steps:

Simplify widget creation even more and somehow tell the client to refresh widgets whenever there is a configuration or position update.

Add more testing

Process

Our process is a continuation using the infrastructure configured and setup in Milestone 1.

a. Continued to update issue boards

b. Opening and reviewing PRs

c. Discussion about new changes and features on Gitter

Reflections: Considering Adjustments

a. Deploying both the frontend and backend locally has proven rather challenging (especially when using Windows). Have an extra raspberry pi might mitigate some of these issues.

b. Both Go and Vue work great individually. But, we are still trying to find ways to make them work well together. Overall, it hasn’t become an issue and we are still set on the general technology stack.