Rifsa

Alston Argodi
6 min readNov 24, 2022

--

Hey nice to see you again, yeah It’s been a long journey since Bangkit started until now. Where Bangkit almost ended: (, but hold on. there is something BIG (complicated) that must be done. So what’s ? as I mentioned in previous stories which are [2 Months in bangkit]. suppose u don't read that it must be for you to read before reading this story hehe. yeah, well it’s the capstone project, Capstone project basically a final project that the Bangkit cohort must complete. this year bangkit has two capstone project that the cohort need to choose from, First company capstone is an idea from some company that gives to the cohort to solve the main problem, there are 5 companies participating in this company's capstone project Traveloka, Indosat, Pukul Enam, and Jakarta government. Second, it’s the company's product capstone which the cohort needs to do their own project based on their idea for solving current problems like climate change, food security and many more.

So registration day come for the company capstone project, My team consist of 9 people divided into different paths like 3 Mobile Development, 3 Machine Learning and 3 Cloud Computing. We prepare our project proposal for joining the company capstone project and after all, was completed we submitted our proposal to a website that the Bangkit team has provided before, We wait for 1 week.

Announcement Day comes, sadly our team is not lucky at this time and for me, it’s a really hard pain because our team is skilled enough to meet their criteria. So we say goodbye to 3 people because if we failed in the company capstone project we had to continue with a product capstone project, Product capstone project also has 6 people in one team.

say goodbye to those 3 guys

Product capstone project

In this capstone project, we need to create a product that came from our idea. the product itself need must include all learning paths From Machine Learning, Cloud Computing, and Mobile Development. To make it more understandable Machine Learning needs to create some prediction or classification model, Cloud Computing need to create a bridge that connects from server to the main apps or front end, and Mobile Development creates the main presentation from the idea itself or main application, which me joining this mobile development team. at first, we need to do a brainstorming session to find an idea that came from nowadays problems like climate change, food security and many more. yeah, big brain time. Hours by hours, minutes by minutes. Finally, we got an idea in Food security and farmer welfare topics, we decided to make Farming dashboard management apps that help farmers to manage their farming business and field.

First Day

On the first day, We had a team meeting on the first day to discuss our project plan and daily meeting schedule. our project uses the SDLC method for development starting from requirement analysis, design, implementation, testing and maintenance (for this step we use this as a final day when we need to submit our project application ). During the requirements analysis, we brainstormed about what they usually farmer do in their daily farming activity based on the experience of our member farmer activity usually like ploughing fields, spraying fertilizer, checking plants and harvesting, the farmer also has an administrative thing to do for managing their farm such as finance for buying tools or fertilizer, income progress after harvesting season and tool or bag management this thing which farmer still do manually and one of our team said: “sometimes we need to write all finance and transaction in the book which is simple and easy but kinda makes me worried when the book lose or damaged”. also, it’s kinda hard to detect and recognize some rice plant diseases with only eyes. So from that problem, our team have some idea to solve that problem in the feature.

Before going further we had to create a software diagram likely the user flow and database diagram it helps us during the development process and clearly understand how the app gonna works. the user flow starts when the user starts the application until inserting data and detecting plant disease, Database diagram will use for how the relationship between one table the another and how’s data flow from the application to the cloud server.

Working Day

After the first day, we discuss the main idea and solutions, next day we start working on the project First time. The machine learning team need to find the disease dataset on the internet and clean it up to be one clean dataset, I heard this step is kinda stressful because some dataset does not really fit into a model so it needs to find again and repeat until the dataset fit.

Android Team this one it’s my team. so first after we created the diagram flow, we worked on the apps user interface design, for the design we using Figma to create the user interface design we choose Figma because it’s easy to collaborate with others and also test directly with their device tester feature so from that we can create our design easily and fast.

our design workspace

After we finished the user interface design, we need to slice or implement the design to the main XML layout for the android application. Android Jetpack we used in this project ROOM Database for the local database using SQL lite and fragments for the layout of every page and also the navigation for navigating and moving to another page. Also, we implement the MVVM ( MainView-View-Model) architecture for separation in every business logic and database from internet and local, also a view model for preventing data loss when our application has device changed.

Cloud teams working on a cloud database, for the first time need to create every table for the database and configure the cloud database using Google Cloud. The cloud database uses express.js for the farming management API and flask for machine learning or disease detection API. Also, we use cloud SQL and compute engine for the main database.

Final day

At this time cloud and machine learning already finished creating a model and main database, so time for the android team to connect the main application with the backend server with retrofit as an HTTP client for android we can connect easily with the main API and do create, read, update and delete, also retrofit provide an interceptor which prevents application crashed when lose connect with the main API. After our main application is complete we round up our application to bangkit team, so bangkit team will review our idea if eligible to pass the top 15 capstone projects. Also, we need to present and demonstrate our main idea to the jury, explaining what our main problem and the solution to the problem.

our solutions for farming problem

So we created RIFSA an application that can help farmer to manage their farming activity such as recording financial report until disease detection, and risk also help farmer keep their farming record safely in a cloud database without worrying about forgetting or losing their farming track record, disease detection helps the farmer to recognize the disease in their plant easily and fast, this feature also gives a description about the disease and how to cure the disease not only that out application also records the location of disease so the farmer can easily locate the disease in their field, for the demonstration maybe you can watch this video about how our application works

For the last, we decided to open source our main application so others can contribute to our application or try how our application works from that we give our main GitHub repository.

The main application has a database issue due to cost, so we decided to move with the database and you can visit my repository for the new version of the application.

--

--

Alston Argodi

Computer science student, intrested in mobile development and machine learning