Tweeter is a simplified version of twitter. This was a school project that required us to create a fully functioning mobile application that integrates AWS web services for back-end functionality. The class was based around software architecture and learning design patterns to make efficient and easy to read code. We used the Model, View, Presenter (MVP) approach.
Tasks that we were given were refactoring code, remove duplicate code, write automated tests with mocks and spies, and integrate with Amazon Web Services.
Expertise Utilized
- Java
- Android Studio
- AWS (IAM, Lambda, API Gateway, DynamoDB, SES, SQS)
- Automated Testing w/ JUnit and Mockito
Design Patterns Used
- Observer
- MVP
- Template Method
- DAO Factory
Project Outcome
Skills Acquired
- Learned and used 12 different design patterns
- Learned and used 8 different features of AWS
- Increased experience in Java and Android Studio
- Increased experience with automated testing in JUnit and Mockito
App Features
- Login/Logout/Sign up
- Feed tab full of posts from people user follows
- Story tab with just user’s posts
- ‘+’ button for posting
- Find friends and follow