Story
As the final project in my third year of college, we had to create an app in Java. My teammate chose to make a grocery app and I believe the result is pretty good. If you want to see the project, you can find the source code here.
Showcase
The following video shows how the application works. The user first
starts at a login screen
Development
Splitting tasks
The biggest strength of our team was that we were both good at something the other was not. For me, I was better at Java than her, and she was better at UI. This allowed each other to focus on something they were good at and therefore, increase our productivity.
Login Screen
The login screen is pretty much "unless"
- Change the language of the app
- Input your credentials to login
In the current state of the project, the credentials are not so
important. In fact, the username does not matter. The only important
thing is the password
The application also simulates the lag of fetching data from a database. It also notifies the user when an error occurred, which is nice.
Multi-language
As you can see in the video above, the app supports multiple languages. In our case, we only switched between English and French. However, you can add more languages and the app will work the same. I just advice to look more into how to switch languages without having to restart the entire application. We made it that you can only change it here, because it would break everything otherwise.
Products Storing
Since we don't use a database, you might wonder how do we store the items we sell? At the time, I was playing around with a mobile game called "Rogue Adventure". In this game, they use a XML system to store their data. So I decided to "borrow" their system to make it my own.
Strong points of the project
Something I like about this project is the versatility of the system. You want a different product? The cart system works independently of the product itself. You want to implement a database to the project? Most of the logic is already separated, making it easy to simply swap how the app works.
The project has an entire file JUST for configuration. You can enable the automatic connection, you can audit certain steps of a process, you can enable certain features. The fact that we generalized the application so much, it made it possible to easily put new rules and change how things are done.
Conclusion
Is this a finished project? No! I would never show this to someone who looks for a completed project. However, this is totally a great start for someone looking to make something like this.