- Introduction
- About the Project
- What did I get from this project?
- Built With
- Installation Requirements
- IMPORTANT INFO
- License
Ah, the infamous Notes App that can be found in every apprentice developer's repositories. The cornerstone of building your skills as a programmer... right? Well, in my case, I decided to share this work as I learnt a thing or two here, especially when dealing with JavaScript and external databases. So, without further ado, let's discuss the project itself!
Full Stack Note App is a project based on Full Stack Note App course. The app could be your another note app, BUT this one stands out as the one having its own MongoDB database stored with a local host. Simply said, the app is on your phone but the data it uses is stored e.g. on your laptop, with which it connects through a local network.
The final project is not a simple copy-paste, as I decided to introduce some changes:
- Instead of following Ali's directions with storyboards, I decided to go my own way and wrote all the views 100% programmatically.
- The initial version of the project doesn't support line breaks and the Polish alphabet characters (Ą, Ę, Ć, Ź, Ż, Ó, Ł, Ś, Ń) so I have dealt with that as well.
- I got rid of the explicitly unwrapped values and managed the networking errors a little bit so that the user won't be confused when the app is not responding the way it should.
Among many things I learnt/trained during this project, here are the most important ones for me:
- writing UI programmatically
- creating CRUD network calls in Alamofire
- writing a custom MongoDB API in Node.js with Mongoose
- MVC design pattern
- using delegates and protocols
- implementation of Dynamic Type
- Dark Mode support
- using Swift Package Manager
- testing the API responsiveness with Postman
To make the magic happen, you will need these:
- Homebrew
- MongoDB
- Mongoose
- Node.js
- To make things simplier - Visual Studio Code
I wouldn't dare try to explain what should be done and how it should be done better than Ali himself, so I strongly encourage you to follow his instructions.
Don't forget to swap the "000.000.0.000" IPv4 address for your own in the project files ('server.js' in 'Server for Note App' folder and 'APIFunctions' in 'Note App iOS Project' folder).
See LICENSE
for information.