rick2785
A Founding Engineer with expertise owning the complete mobile experience. Swift/Kotlin enthusiast. Let's build the future - faster.
Bowskie TechAlabama
Pinned Repositories
Cart
SwiftUI Cart Page UI With Custom Swipe To Delete Action. SwiftUI 2.0
ChatAppForiOS10
iOS 10 & Swift 3 chat app that implements the JSQMessagesViewController framework and also uses SDWebImage framework to download images and videos on a separate thread.
ComplexCurvesVPN
Complex VPN App UI With Complex Bezier Curves Using SwiftUI 2.0
FoodOrdering
Food ordering app using Firebase in SwiftUI 2.0
JavaCode
I specifically cover the following topics: Java primitive data types, declaration statements, expression statements, importing class libraries, excepting user input, checking for valid input, catching errors in input, math functions, if statement, relational operators, logical operators, ternary operator, switch statement, and looping. How class variables differ from local variables, Java Exception handling, the difference between run time and checked exceptions, Arrays, and UML Diagrams. Monsters gameboard, Java collection classes, Java ArrayLists, Linked Lists, manipulating Strings and StringBuilders, Polymorphism, Inheritance, Protected, Final, Instanceof, interfaces, abstract classes, abstract methods. You need interfaces and abstract classes because Java doesn't allow you to inherit from more than one other class. Java threads, Regular Expressions, Graphical User Interfaces (GUI) using Java Swing and its components, GUI Event Handling, ChangeListener, JOptionPane, combo boxes, list boxes, JLists, DefaultListModel, using JScrollpane with JList, JSpinner, JTree, Flow, Border, and Box Layout Managers. Created a calculator layout with Java Swing's GridLayout, GridBagLayout, GridBagConstraints, Font, and Insets. JLabel, JTextField, JComboBox, JSpinner, JSlider, JRadioButton, ButtonGroup, JCheckBox, JTextArea, JScrollPane, ChangeListener, pack, create and delete files and directories. How to pull lists of files from directories and manipulate them, write to and read character streams from files. PrintWriter, BufferedWriter, FileWriter, BufferedReader, FileReader, common file exceptions Binary Streams - DataOutputStream, FileOutputStream, BufferedOutputStream, all of the reading and writing primitive type methods, setup Java JDBC in Eclipse, connect to a MySQL database, query it and get the results of a query. JTables, JEditorPane Swing component. HyperlinkEvent and HyperlinkListener. Java JApplet, Java Servlets with Tomcat, GET and POST methods, Java Server Pages, parsing XML with Java, Java XPath, JDOM2 library, and 2D graphics. *Created a Java Paint Application using swing, events, mouse events, Graphics2D, ArrayList *Designed a Java Video Game like Asteroids with collision detection and shooting torpedos which also played sound in a JFrame, and removed items from the screen when they were destroyed. Rotating polygons, and Making Java Executable. Model View Controller (MVC) The Model is the class that contains the data and the methods needed to use the data. The View is the interface. The Controller coordinates interactions between the Model and View. DESIGN PATTERNS: Strategy design patternis used if you need to dynamically change an algorithm used by an object at run time. The pattern also allows you to eliminate code duplication. It separates behavior from super and subclasses. The Observer pattern is a software design pattern in which an object, called the subject (Publisher), maintains a list of its dependents, called observers (Subscribers), and notifies them automatically of any state changes, usually by calling one of their methods. The Factory design pattern is used when you want to define the class of an object at runtime. It also allows you to encapsulate object creation so that you can keep all object creation code in one place The Abstract Factory Design Pattern is like a factory, but everything is encapsulated. The Singleton pattern is used when you want to eliminate the option of instantiating more than one object. (Scrabble letters app) The Builder Design Pattern is used when you want to have many classes help in the creation of an object. By having different classes build the object you can then easily create many different types of objects without being forced to rewrite code. The Builder pattern provides a different way to make complex objects like you'd make using the Abstract Factory design pattern. The Prototype design pattern is used for creating new objects (instances) by cloning (copying) other objects. It allows for the adding of any subclass instance of a known super class at run time. It is used when there are numerous potential classes that you want to only use if needed at runtime. The major benefit of using the Prototype pattern is that it reduces the need for creating potentially unneeded subclasses. Java Reflection is an API and it's used to manipulate classes and everything in a class including fields, methods, constructors, private data, etc. (TestingReflection.java) The Decorator allows you to modify an object dynamically. You would use it when you want the capabilities of inheritance with subclasses, but you need to add functionality at run time. It is more flexible than inheritance. The Decorator Design Pattern simplifies code because you add functionality using many simple classes. Also, rather than rewrite old code you can extend it with new code and that is always good. (Pizza app) The Command design pattern allows you to store a list of commands for later use. With it you can store multiple commands in a class to use over and over. (ElectronicDevice app) The Adapter pattern is used when you want to translate one interface of a class into another interface. Allows 2 incompatible interfaces to work together. It allows the use of the available interface and the target interface. Any class can work together as long as the Adapter solves the issue that all classes must implement every method defined by the shared interface. (EnemyAttacker app) The Facade pattern basically says that you should simplify your methods so that much of what is done is in the background. In technical terms you should decouple the client from the sub components needed to perform an operation. (Bank app) The Bridge Pattern is used to decouple an abstraction from its implementation so that the two can vary independently. Progressively adding functionality while separating out major differences using abstract classes. (EntertainmentDevice app) In a Template Method pattern, you define a method (algorithm) in an abstract class. It contains both abstract methods and non-abstract methods. The subclasses that extend this abstract class then override those methods that don't make sense for them to use in the default way. (Sandwich app) The Iterator pattern provides you with a uniform way to access different collections of Objects. You can also write polymorphic code because you can refer to each collection of objects because they'll implement the same interface. (SongIterator app) The Composite design pattern is used to structure data into its individual parts as well as represent the inner workings of every part of a larger object. The composite pattern also allows you to treat both groups of parts in the same way as you treat the parts polymorphically. You can structure data, or represent the inner working of every part of a whole object individually. (SongComponent app) The flyweight design pattern is used to dramatically increase the speed of your code when you are using many similar objects. To reduce memory usage the flyweight design pattern shares Objects that are the same rather than creating new ones. (FlyWeightTest app) State Pattern allows an object to alter its behavior when its internal state changes. The object will appear to change its class. (ATMState) The Proxy design pattern limits access to just the methods you want made accessible in another class. It can be used for security reasons, because an Object is intensive to create, or is accessed from a remote location. You can think of it as a gate keeper that blocks access to another Object. (TestATMMachine) The Chain of Responsibility pattern has a group of objects that are expected to between them be able to solve a problem. If the first Object can't solve it, it passes the data to the next Object in the chain. (TestCalcChain) The Interpreter pattern is used to convert one representation of data into another. The context cantains the information that will be interpreted. The expression is an abstract class that defines all the methods needed to perform the different conversions. The terminal or concrete expressions provide specific conversions on different types of data. (MeasurementConversion) The Mediator design pattern is used to handle communication between related objects (Colleagues). All communication is handled by a Mediator Object and the Colleagues don't need to know anything about each other to work together. (TestStockMediator) The Memento design pattern provides a way to store previous states of an Object easily. It has 3 main classes: 1) Memento: The basic object that is stored in different states. 2) Originator: Sets and Gets values from the currently targeted Memento. Creates new Mementos and assigns current values to them. 3) Caretaker: Holds an ArrayList that contains all previous versions of the Memento. It can store and retrieve stored Mementos. (TestMemento) The Visitor design pattern allows you to add methods to classes of different types without much altering to those classes. You can make completely different methods depending on the class used with this pattern. (VisitorTest)
JuiceUI
Complex Juice App UI With Matched Geometry Effect Hero Animation Using SwiftUI 2.0
MediumFooter
Medium App Sticky Footer Animation with SwiftUI 2.0
ScrollableTabBar
Scrollable Tab Bar with smooth scrolling tab effect using SwiftUI 2.0
ShopUI
Online Shop App UI With Hero Animations - SwiftUI 2.0
SwiftUIFirebaseChat
SwiftUI Realtime Chat using Firebase Firestore.
rick2785's Repositories
rick2785/DragAndDropTextSwift4
DragAndDropTextSwift4 is a Collage Image Sharing application. It allows us to drag images from our application.
rick2785/FlexJobsDemo
rick2785/GoalPost
GoalPost is a app that persists data via CoreData.
rick2785/MapsDirectionForGooglePlaces
Maps using the MapKit framework from Apple. We can draw annotation pins on the map, display the user's location, display directions between different places, and integrate the Google Places SDK.
rick2785/NikeUI
Nike Shoe App UI using SwiftUI 2.0
rick2785/SlideOutMenu
As iPhones grow larger and larger each year, users start to notice that the UI is becoming a little more difficult to use with just one hand. If you have a large device, try for yourself and you'll see how unnatural it feels to tap on elements on each corner of the screen. A great solution to this User Experience problem, is to implement a very natural motion of swiping your screen left and right to reveal menu options in a hidden panel to the left. In this course, we'll go over exactly how to implement this feature in our apps. Furthermore, the solution we'll write also supports many different device sizes and orientations. For example, our Slide Out Menu can be used in Portrait, Landscape orientations, as well as iPad devices.
rick2785/AppSearch
Want to increase your app's exposure and enhance the user's experience at the same time? App Search gives you the tools needed to index app content and make it searchable in Spotlight. Also, the look and functionality of Spotlight search results can be customized to better fit the content of the app.
rick2785/AppStoreWithJsonApi
rick2785/BahamaAirLogin
rick2785/BeginnerCook
BeginnerCook is app that shows a list of available herbs. Whenever the user taps one of the images in the list; a view controller sports a background, title, description and some buttons to credit the image owner. I created a custom presentation controller with animations using Fade, Pop, and Dismiss transitions.
rick2785/CoreImageFun
Core Image is a powerful framework that lets you easily apply filters to images. You can get all kinds of effects, such as modifying the vibrance, hue, or exposure. Core Image filters can also be chained together to apply multiple effects to an image or video frame at once. The multiple filters are combined into a single filter that is applied to the image. This makes it very efficient compared to processing the image through each filter, one at a time.
rick2785/DynamicToss
Learn how to toss your views with gestures and physics behaviors using UIKit Dynamics. It covers neat effects, such as rotation and fly-away animations.
rick2785/FaceDetectionSwift4
FaceDetectionSwift4 is a Face Detection app using native supported Vision APIs. It can be somewhat tricky to translate the detected rectangles into screen image coordinates.
rick2785/fluttergh
Flutter app that queries the GitHub API for team members in a GitHub organization and displays the team member information in a scrollable list.
rick2785/FoodTruck-API
REST API backend development using Node, Express, MongoDB, ES6 & Javascript, API development, CRUD & REST, and Tooling & Automation.
rick2785/GameOfCodez
GameOfCodez is a Coding Challenge app that parses data from a Game Of Thrones API and also sends a message via "Raven" to display the current screen. Basically, it's a Linkedin for Game Of Thrones characters.
rick2785/Instagram
Instagram clone for iOS using Swift 4.
rick2785/IntermediateTraining
IntermediateTraining on CoreData.
rick2785/MagicalGrid
Created a swipe style animation with the basics of detecting touches. It's a fun and easy exercise to show how touches work and how they can be captured. This mimics the swiping behavior of dating applications.
rick2785/ObjectiveCChallenge
Objective-C Coding Challenge
rick2785/PetFinder
Pet Finder app with added UIAppearance feature that switches the app to a dark-theme when opened at night.
rick2785/PixelCity
pixelCity utilizes MapKit. You can double tap anywhere and it drops a pin then for that pin it passes the coordinates into the flickr ap. Afterwards, it downloads any photos geotagged within a mile radius of that pin. 3D touch is also integrated.
rick2785/Podcast_iOS
iOS 11 fully functional app that searches for available Podcasts on iTunes, bookmarks your favorite stations, and full supports audio playback. Furthermore, an Audio app wouldn't be complete without offline playback capabilities. Now one of the tricky parts about audio applications is that they require the ability to be active while backgrounded. In addition to being active, one must also present the proper playback controls in the Command Center and Lock Screen. I took care of this by setting up the proper Cover Art and Pause, Play, Previous, and Next track action buttons.
rick2785/ReactCompleteGuide
React Basics
rick2785/ServerSideSwift
Server Side Swift with Perfect web app called "Today I Learned." The idea is you may come across acronyms in taking to folks online, such as "BRB", "TTYL", or "AFAIK". Sometimes it's hard to keep track of them all; so storing them in a database-driven web app is a nice idea. Skeleton was used for default styling.
rick2785/Smack
Smack is a chat app that utilizes the SWReveal library. There's authentication for creating and logging in users, real-time functionality, and socket technology.
rick2785/SmartCameraSwift4
SmartCameraSwift4 is a Real Time Object Detection app using one of the newest libraries announced in this year's WWDC event. The combination of CPU and GPU allows for maximum efficiency in using inference technology from Machine Learning.
rick2785/SoundBox
Android application that enables a music player to play and pause audio.
rick2785/StackReview
StackReview is the next big thing in breakfast-based app-technology. It allows you to easily check out reviews for all the local pancake houses, so you can go and gorge yourself on that rather curious combination of meat, syrup and baked goods.
rick2785/SwipeAndMatch
SwipeAndMatch creates a fun and interactive Swipe and Match user interface. In today's day and age of dating applications, you're almost guaranteed to find this style of interaction. Enables animations for swiping off screen and cards entering the screen. Also integrate animations for matching likes.