Build Real World Full Stack Mobile Apps in Java - Free Course
The Complete guide to building native mobile applications for Java developers.
Table of contents
- Restaurant Server
- The App Maker
- Initial UI Mockup
- App Maker Server
- SQLite and ORM Binding
- Miscellaneous Features
- Style Form
- Push and In-App Purchase
- Setting Up a Cloud Server
- Adapting to Tablets and Desktops
- Animations
- Creating an Uber Clone
- 1. Introduction
- 2. Basic Setup
- 3. Login and Country Code
- 4. Login Shadow and Rotation
- 5. Social Login and Country Picker
- 6. SMS Activation Flow
- 7. Map Form
- 8. Where To UI
- 9. Where To UI - Part II
- 10. Side Menu
- 11. The Spring Boot Server
- 12. Server WebSocket Handler
- 13. Client Side UserService
- 14. SMS Activation and Interception
- 15. Location Service - Client Side
- 16. Connecting the Location Service to the Map Form
- 17. Reverse Gecoding Google Webservice
- 18. Directions and Places Google Web Services
- 19. Auto Complete Location Search UI
- 20. Search Completion Container
- 21. Plotting the Route On the Map - Setup
- 22. Plotting the Route On the Map - to/from Tags
- 23. Plotting the Route On the Map - Completion
- 24. Hailing in the Client - Showing a Beacon
- 25. Hailing in the Client - Networking and Sending Push Messages
- 26. Driver App Server
- 27. Driver App Server - WebSocket Portion
- 28. The Driver App - 2 Apps in One Project
- 29. Separating the Driver App and Push Notification
- 30. Driver and User Hailing Process
- 31. Billing with Braintree - Flow explained and Server Side
- 32. Braintree - Client Side Integration
- 33. Social Login - Basics and Facebook App
- 34. Facebook and Google Login Code
- 35. Google Login Process
- 36. Morph Transition - Animating Elements Between Forms
- 37. Cover Transition - Conditionally Showing a Form Transition
- 38. Circular Floating Action Button Animation
- 39. Settings Form and Fetching the Avatar Image
- 40. Edit User - UI Binding and Multipart Image Upload
- Creating a Facebook Clone
- 1. Introduction
- 2. Creating the Project and CSS
- 3. Splash Screen
- 4. Login Form
- 5. Rich Text View and Signup Form
- 6. Signup Form - Terms and Conditions
- 7. Signup Form - Name, Birthday and Gender
- 8. Signup Form - Phone, Email, Password and Confirmation
- 9. The Main Form
- 10. Client Data Model - User, Post and Comment
- 11. ServerAPI Abstraction Mockup
- 12. The Newsfeed Container
- 13. Friends Container
- 14. Notifications Container
- 15. The More Container
- 16. The "New Post" Form
- 17. Spring Boot Server Architecture and the User Entity
- 18. Media Entity
- 19. Post and Comment Entities
- 20. Notification, Newsfeed and ShadowUser Entities
- 21. Service Layer and UserService
- 22. UserService Part II
- 23. NotificationService and MediaService
- 24. PostService
- 25. WebService Layer and UserWebService
- 26. PostWebService and MediaWebService
- 27. Client Side ServerAPI
- 28. Client/Server Signup Process
- 29. Newsfeed and Posts From Server
- 30. Friends - Calendar Synchronization, Accept/Reject Requests
- 31. Search: Server Side with Spring Boot and Hibernate
- 32. Search: WebService and Client Code
- 33. Search: Client Side UI - SearchForm
- 34. Search Results UI: UserForm and PostForm
- 35. Threaded Comments UI - CommentsForm
- 36. SettingsForm - Cover and Avatar
- 37. Generic Settings using InstantUI - Automatic Dynamic UI Generation
- 38. Server Side Post Media Attachment
- 39. ImagePicker - Video and Custom Support
- 40. Post Media Attachments - Client Side Business Logic
- 41. Post Image and Video from NewPostForm
- 42. Images, Videos and Styled Posts in the Newsfeed
- 43. Low Level Camera Integration
- 44. Push Notification - Theory, Entity and Service Layers
- 45. Push Notification - Server Implementation
- 46. Push - Client Side Integration
- Creating a WhatsApp Clone
- Create a Netflix Clone
This is the final course released as part of my 2017-2019 courses for Codename One mobile development. I hope you find it useful. Even though some of the material is out of date, the vast majority is still very relevant and applicable.
I've worked with many mobile developers over the years and one common thread is the process of solving the same problems all over again. Everyone is building an Uber clone, a social media app, a restaurant ordering app or some other common template.
Even if you aren't it's very likely you are building a variation of the same idea e.g. one of my friends has a startups that bills itself as "air b&b for eating at peoples homes"... This is common even in corporate applications where we redo the same ideas again & again.
This course tries to build the common templates and it's constantly evolving to add more applications!
It offers a set of full featured app building tutorials from start to finish without skimming on details...
I cover the full stack which is rare in the Java world. We go into the server side, the client side, deployment to the stores, server provisioning in the cloud, database creation, UI design, adapting the design, working with photoshop, coding, security and every other aspect you can think of in this course.
Restaurant Server
Server
The App Maker
Scope and Basic UI Design
Fleshing Out the UI Design
Initial UI Mockup
The source code for the mockup built in this section is available here.
Architecture of Mockup
Base Navigation Form and Shape Effects
Dish List and Edit
App Maker Server
The source for the server built in this section is available here.
Introduction, Architecture and Authorization
REST API Design
Communicating from the Client
SQLite and ORM Binding
The updated application is available in this repository.
SQLite Abstraction with Object Relational Mapping
Integrating SQLite into the Code
Miscellaneous Features
Here is the repository with the changes discussed in this section.
Details, Categories and Validation
Billing and Global Server
Sidemenu and Preview
About Forms
Style Form
The source code corresponding to this section is available here.
Style Customization 1 - Introduction and Basics
Style Customization 2 - The Customization Popup
Style Customization 3 - Font and Color Pickers
Style Customization 4 - Saving Style Settings
Push and In-App Purchase
This section updated both the server code and the client code.
Push 1 - Initial Registration Process
Push 2 - Client Side Code
Push 3 - The Server Side and Build Logic
Push Http Fallback
Push WebSockets Fallback
In-App Purchase
Setting Up a Cloud Server
Today I would just wrap the whole thing in a container and deploy it more easily. Still, understanding this process and the logistics is always nice. In 2017 Docker was still pretty new and not as universal, Kubernetes was just announced too.
Setting up the VPS Server
Yum, MariaDB, Security and iptables
Starting the Server on Boot
Let's Encrypt, HTTPS Certificate Support
Automating Lets Encrypt Renewal Process
Adapting to Tablets and Desktops
Abstraction and Architecture
The UIAbstraction Class
The TabletUI Class
Putting it all Together
Animations
Transitions
Layout Animations
Animation Manager, Style Animations and Low Level Animations
Creating an Uber Clone
This chapter was the basis for my book on creating an Uber clone available here.
The server source code is available here. The mobile client source code is here.
1. Introduction
2. Basic Setup
3. Login and Country Code
4. Login Shadow and Rotation
5. Social Login and Country Picker
6. SMS Activation Flow
7. Map Form
8. Where To UI
9. Where To UI - Part II
10. Side Menu
11. The Spring Boot Server
12. Server WebSocket Handler
13. Client Side UserService
14. SMS Activation and Interception
15. Location Service - Client Side
16. Connecting the Location Service to the Map Form
17. Reverse Gecoding Google Webservice
18. Directions and Places Google Web Services
19. Auto Complete Location Search UI
20. Search Completion Container
21. Plotting the Route On the Map - Setup
22. Plotting the Route On the Map - to/from Tags
23. Plotting the Route On the Map - Completion
24. Hailing in the Client - Showing a Beacon
25. Hailing in the Client - Networking and Sending Push Messages
26. Driver App Server
27. Driver App Server - WebSocket Portion
28. The Driver App - 2 Apps in One Project
29. Separating the Driver App and Push Notification
30. Driver and User Hailing Process
31. Billing with Braintree - Flow explained and Server Side
32. Braintree - Client Side Integration
33. Social Login - Basics and Facebook App
34. Facebook and Google Login Code
35. Google Login Process
36. Morph Transition - Animating Elements Between Forms
37. Cover Transition - Conditionally Showing a Form Transition
38. Circular Floating Action Button Animation
39. Settings Form and Fetching the Avatar Image
40. Edit User - UI Binding and Multipart Image Upload
Creating a Facebook Clone
The complete app created in this section is available here. The corresponding server side is available here.
1. Introduction
2. Creating the Project and CSS
3. Splash Screen
4. Login Form
5. Rich Text View and Signup Form
6. Signup Form - Terms and Conditions
7. Signup Form - Name, Birthday and Gender
8. Signup Form - Phone, Email, Password and Confirmation
9. The Main Form
10. Client Data Model - User, Post and Comment
11. ServerAPI Abstraction Mockup
12. The Newsfeed Container
13. Friends Container
14. Notifications Container
15. The More Container
16. The "New Post" Form
17. Spring Boot Server Architecture and the User Entity
18. Media Entity
19. Post and Comment Entities
20. Notification, Newsfeed and ShadowUser Entities
21. Service Layer and UserService
22. UserService Part II
23. NotificationService and MediaService
24. PostService
25. WebService Layer and UserWebService
26. PostWebService and MediaWebService
27. Client Side ServerAPI
28. Client/Server Signup Process
29. Newsfeed and Posts From Server
30. Friends - Calendar Synchronization, Accept/Reject Requests
31. Search: Server Side with Spring Boot and Hibernate
32. Search: WebService and Client Code
33. Search: Client Side UI - SearchForm
34. Search Results UI: UserForm and PostForm
35. Threaded Comments UI - CommentsForm
36. SettingsForm - Cover and Avatar
37. Generic Settings using InstantUI - Automatic Dynamic UI Generation
38. Server Side Post Media Attachment
39. ImagePicker - Video and Custom Support
40. Post Media Attachments - Client Side Business Logic
41. Post Image and Video from NewPostForm
42. Images, Videos and Styled Posts in the Newsfeed
43. Low Level Camera Integration
44. Push Notification - Theory, Entity and Service Layers
45. Push Notification - Server Implementation
46. Push - Client Side Integration
Creating a WhatsApp Clone
The code for the WhatsApp clone client is available in this repository. The server code is available here.
1. Getting Started
2. Client to Server Abstraction
3. The Model Package
4. The Main Class
5. Main Form
6. Theme CSS
7. Bubble Border
8. Chat Form
9. The New Message Form
10. Server Entities
11. Server DAO and Entities
12. User Service
13. User Web Service
14. Web Socket
Create a Netflix Clone
The Netflix clone app is hosted on GitHub here. The server portion is available here.