Our team was inspired to create this software after one of our teammates saw his parent struggling to search through at least 10 flash drives looking for pictures. Seeing this he thought that a local web server connected to an electronic picture frame would make a perfect fix to this problem.
What it does
The PhotoCenter picture frame and website works together to make it easier to have all of your photos in one place and not on a big companies server where you would have to pay a monthly fee or worry about a price increase. The web server consists of a website to upload, download, edit, and view your photos. It also supports sorting by album and tags, making it a breeze to find the picture you wanted to show a friend. The electronic picture frame also makes the perfect device to display all your pictures at all times of the day so you never need to scramble through flash drives.
How we built it
We built this system using many different technologies. We used java and android studio for our android app. Our app supports the abilities to upload and view any pictures on the web server. For the web server we used nodeJs and a few different frameworks such as express.js and libraries like socket.io. The web server supports a web page and rest api that powers the entire operation. The site includes features such as automatic image refresh when you upload new images through socket.io and easy file uploads using the formidable module.
Challenges we ran into
Our team ran into a few different challenges along the way. Our biggest challenge was figuring out how to solve a memory issue with our android app that cause it to be very unstable. To fix this issue we implemented "lazy" loading that only loads the images that are visible on the screen. Another big issue was connecting the uploaded file's and its associated data together. After spending a few hours on this we were able to manage a solution that solved this very big problem and also allowed us to sort images into albums and have tags.
Accomplishments that we're proud of
Our greatest accomplishments include creating our android app. It was very challenging and turned into some very good learning experiences. Another accomplishment that we are proud of is the website design. A few members of our team had very little to no experience using html or css and did a great job developing the site.
What we learned
We learned from this hackathon that a large system can be complex and challenging to accomplish but with some hard work it can turn out very well. We also learned how to work better as a team and support each other. In addition, our team learned a lot of new programming skills especially involving android and how to make its apps.
What's next for PhotoCenter
PhotoCenter will probably have many small and possibly major updates in the future to become more then just photos. It will include videos in the future and possibly other new and exciting features. The server will also likely get its own dedicated hardware as a raspberry pi where it will run and store its data.