
It’s been a really long time I had to work on a challenging project. So, in this post series, I will be building an app that will require me to write a lot of custom code to exercise my coding skills. It would also require basic knowledge of Networking.
Fun Fact: I have a Master’s Degree in Computer Networks, but I have not touched any kind of Networking Project in years!….
What will be built
I’ll be building a Multi-platform App that can Transfer files from your Device to any other Device connected to the same Network. It will be similar to Xender but will work strictly on devices connected to the same Local Area Network – LAN (No Infrared/Bluetooth).
I’ll also document as much of the journey as possible in this blog post series. If you would like to follow up with this series, feel free to subscribe to FINCOHOST.
I decided to document the entire development process for 3 primary reasons:
- To show upcoming/junior developers the process of building an App from scratch.
- It would make it a lot harder to abandon the project.
- Finally and probably more importantly, I would appreciate suggestions on alternative procedures, processes, or Algorithms.
Table of Contents
- Introduction
- Functional/Technical Requirements
- Choice of Technology to Use and Why
- App Logic and Planning
- Algorithms I Plan to Use
- Milestones/Tasks (Development Roadmap)
- Find a suitable UI template.
- Modify the UI to fit app requirements.
- Implement network scanning to enumerate devices.
- Develop an app detection system (to list only devices with the app installed and running).
- Implement TCP connection handling.
- Enable drag-and-drop file transfer.
- Add error handling and reporting.
- Perform final UI/UX refinements.
- Conduct extensive app testing and evaluation.
- Possible Issues I Foresee
- Current Limitations (To Improve in the Future)