I worked on developing E commerce app on android where I had a chance to put a few good things at work. The knowledge or experienced I had applied in such apps: 1. Working with REST APIs 2. Showing list, interacting with buttons, text, filtering and sorting items etc. 3. Integrating Payment Gateways like Razorpay, PayTM etc. Nowadays, integrating payment gateways are quite easy as helpful tools like chat-gpt etc are available and many ready made codes are available. However, integrating payment gateways in any app before (4-5 years back) was a bit critical task. 4. Sending push notification to the seller or the owner of the app about the new order and also to notify user when admin/owner would send the item to the buyer.
Quite a common app in a few countries. I did on atleast 2 similar projects.
1. Worked on placing bids, deleting and updating bids feature etc. 2. Used extensive notification to communicate between user and contractor and admin about new jobs being posted, new bid being posted and new job being awarded or cancelled. 3. Had to manage around 30 categories for job posting and bidding. 4. Integrated paypal gateway, sendbird chat sdk for communication between users. 5. Developed a lot of REST apis for this app. 6. Uploading documents, photos, contracts etc.
1. These apps has features to display lists, sorting, searching, filtering on different criteria 2. Some of these also requires calendar and date manipulations as updating time, fetching records for particular time are also needed. 3. These apps generally have some charts, views to represent the calculations and reports. 4. Admins can have access to perform at least some amount of CRUD operations.
1. Extensively used google apis to get current location and calculate distance between multiple places. 2. Sorting places by rating, distance etc. 3. Real life application of multiple view types in Recycle View.
Challange:It required a bit of DSA knowledge for showing shortest to longest distance places near to user. I had almost no idea about it. So, I went through some tutorials, contacted a close person who know about all these and got some idea and did the project. Although it was not the most optimized one but still the functionality was quite up to the mark.
1. Extensively used notification and used Alarm Manager to wake the device up for recurring notifications every 1 hours or 2 hours for tracking intake of water, record calories etc. 2. Worked with offline storage and also some online storage 3. Worked extensively on inputting values and calculating the things. Worked on things like Pie chart, progress bar to show the progress. 4. Worked on integrating apis for calculting BMI of user etc.
Challange: It also required a bit of DSA knowledge for randomly showing some diet plan based upon user’s requirement. Again, I contacted some close person, got some idea about it and made the app.
This app was to find and book tokens for visiting doctors near to a user.
1. Worked on searching doctors in near by area by location. 2. Searching doctors 3. Manipulating Calendar and Time to show their available time (just like Swiggy does, next available in 2 hours), updating Doctor’s availability schedule on calendar schedule etc. 4. Had to communicate between background and main thread as I had to refresh the token list every 2-3 minutes. 5. Developed REST APIs for the app. Took care of use cases like if multiple users wants to book the same token for same doctor at a given point of time. I had solved this issue with Back-end APIs.
This was developed for a small company in Tripura. He has around 250 to 300 cabs to manage through this app. 1. Sending and accepting pick up request through push notification 2. Communicating with user through Push notifications and also REST API responses. 3. Advanced features like OTP verification for users and drivers, Adding money through payment gateway and maintaining drivers wallet on each transactions was done. 4. Integrated google maps. 5. Integrated 3rd Party Tracking SDK. As He had budget constraint, so it was not possible for me to give him a huge idea and charge a hefty amount. Moreover, I didn’t have any team. So, I had to do the real time tracking with Firebase DB. (AWS Dynamo also serves the same purpose).
Pain Point: I have wasted a lot of time after exploring how the tracking works etc. At that time, Firebase real time database was gaining a lot of reputation and many videos were available online showing tracking etc. I applied also, but, I found that, in practice, it is tough and mostly a back-end related/heavy work and related to algorithms like route optimization. Android is simply a part of it and then I integrated a 3rd party tracking sdk. These sdk contains all the necessary utility related to ETA, Live Tracking etc. As I was all alone, it was relatively tough to know how things actually work, what could be the possible solution etc. So, everything was self-learned and self-done. And, that is the reason, I call these apps FANTASY apps. Because, there are many people who keep on posting i want a uber like app, ola like app etc. Basically, what a single person or a small team can do is to build a working small app or a prototype. Anyone can use socket, firebase and perform such updating or retriveing operation but that is not going to solve proper issue without proper architecture and systems.
IMPORTANT NOTE: I am here to show my skills/knowldge in Android Application Development and not actually on back-end development. I had to work on back-end but only to support the basic functionalities of the app. I can write APIs but that is a add-on to my skill and not my primary skill.
1. It was done for a foundation. It would notify users with alarms on set dates to remind them about their dues. 2. It would show them the remaining amount, paid amount and transactions etc. 3. Used Alarm manager, broadcast receiver for this app. Features like snoozing the alarm, payment gateway etc were done.
1. I have worked on a few apps to fix their bugs and make them ready for their work. 2. One such app was a cloud storage app.
Pain point: 1. It was extremely tough to fix the bugs. They had a panel like a grid with almost 12/15 items to perform actions. The problem could be solved easily with grid view in android. but, the previous developer had used unnecessary layouts and made a dummy grid view. Every time I was fixing some issue it was breaking something else. They hired me for bug fixing. Although I offered them the solution but they were not ready to get it done that time. 1. The main feature of the app was to upload and download multiple files. They had no team to manage their own library. They could have used pre-built uploading and downloading libraries. But, they used only basic codes and broadcast receiver to upload and download those huge files. That was making their app more breakable and as the complete app was based on these functionality, so writing new codes would be equivalent to almost a new app creation. They didn’t have budget, so they were somehow managing their work with that app. I could fixed or at least helped them fixed those bugs to the best of my abilities. It’s like if the foundation is not strong, then how the building will stand tall.