# To create a simple analytics backend for my iOS app, what do I need to learn?

**URL:** <https://forum.freecodecamp.org/t/to-create-a-simple-analytics-backend-for-my-ios-app-what-do-i-need-to-learn/340591>\
**Category:** General\
**Created:** [January 12, 2020, 2:55pm UTC](https://forum.freecodecamp.org/t/to-create-a-simple-analytics-backend-for-my-ios-app-what-do-i-need-to-learn/340591 "2020-01-12T14:55:12Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![rajatb](https://avatars.discourse-cdn.com/v4/letter/r/3be4f8/32.png) [@rajatb](https://forum.freecodecamp.org/u/rajatb)\
**Post date:** [January 12, 2020, 2:55pm UTC](https://forum.freecodecamp.org/t/to-create-a-simple-analytics-backend-for-my-ios-app-what-do-i-need-to-learn/340591/1 "2020-01-12T14:55:12Z")

</div>

I am a self-taught iOS developer, who knows Swift and iOS development only. I don’t have any experience with web development of any kind, including HTML or CSS.

I have an iOS app. I want to create my own analytics service without relying on any third parties. I want to create a simple REST API. I just need to be able to send simple JSON to my server (such as iOS version number, app version installed, iPhone model, etc). I will need that data to be stored in a database. I have a basic GoDaddy Hosting plan with a database.

What [freecodecamp.org](http://freecodecamp.org) resource might help me out? What are the things I need to learn?

---

<div class="post-metadata">

**Author:** ![pschorey](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/pschorey/32/125923_2.png) [@pschorey](https://forum.freecodecamp.org/u/pschorey)\
**Post date:** [January 15, 2020, 4:55pm UTC](https://forum.freecodecamp.org/t/to-create-a-simple-analytics-backend-for-my-ios-app-what-do-i-need-to-learn/340591/2 "2020-01-15T16:55:02Z")

</div>

It’s a bit of a steep learning curve (at least it was for me), but you could use AWS serverless. They have a free tier which will work well for lower volume. You would likely need to learn and setup: Route53, DynamoDB, Lambda, IAM security, and possibly Cognito if you want to start saving user data etc. If you have low volume this would cost around a dollar a month, you’d have to check their pricing to see where you would maybe end up.

I think it would be easier to use a managed hosting plan and create a rest api using PHP and a MySQL database, but it may cost a little bit more monthly.

There are a ton of other options too, but I haven’t used them.

My last project I used Firebase analytics because it was free and incredibly easy to setup. The drawback is, Google sinks their claws into even more data about people, and their data collection in my opinion is somewhat invasive.

Here are some FCC links that may help:  
[AWS Serverless](https://www.freecodecamp.org/news/going-serverless-with-react-and-aws-amplify-part-2-creating-and-using-serverless-services-d401ba346eeb/)  
[FCC PHP articles](https://www.freecodecamp.org/news/search/?query=php)

---

<div class="post-metadata">

**Author:** ![mark4](https://avatars.discourse-cdn.com/v4/letter/m/77aa72/32.png) [@mark4](https://forum.freecodecamp.org/u/mark4)\
**Post date:** [January 23, 2020, 10:22pm UTC](https://forum.freecodecamp.org/t/to-create-a-simple-analytics-backend-for-my-ios-app-what-do-i-need-to-learn/340591/3 "2020-01-23T22:22:54Z")

</div>

If you can learn iOS and Swift, you can learn [ASP.NET](http://ASP.NET) Core and C# too. There are plenty of tutorials and example code available for building REST API’s with [ASP.NET](http://ASP.NET). A lot of hosting plans provide the framework as well. Try Microsoft’s tutorial site. Good luck!

---

<div class="post-metadata">

**Author:** ![nemo\_oudeis](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/nemo_oudeis/32/132510_2.png) [@nemo\_oudeis](https://forum.freecodecamp.org/u/nemo_oudeis)\
**Post date:** [January 29, 2020, 4:09am UTC](https://forum.freecodecamp.org/t/to-create-a-simple-analytics-backend-for-my-ios-app-what-do-i-need-to-learn/340591/4 "2020-01-29T04:09:54Z")

</div>

Your problem sounds pretty simple, so I’ll suggest a simple solution.

You could:

- Build a Node.js + express app that receives HTTP requests from your mobile app and stores them in a database.
- Deploy that application on Heroku (a lot simpler that the AWS Lamdba suggestion)

The reasons why I suggests this approach are:

- You know Swift so JavaScript is not so difficult to learn (in my experience working with Swift developers)
- Node.js + express in a very common setup for API development, there are many resources on the web, blogs & stack overflow. You are likely to find help
- Heroku hides the complexity of deploying the many different components of backend systems (infrastructure, load balancer, databases, networking, application, logging, etc.) so you can focus on building the web API instead of fighting with the deployment setup.

There are a couple of resources for this on free code camp:

- [How to Build a RESTful API using Node, Express and Mongo](https://www.freecodecamp.org/news/restful-api-using-node-express-mongo/)
- [How to deploy a Node Application and Database to Heroku](https://www.freecodecamp.org/news/how-to-deploy-a-node-application-and-database-to-heroku/)

I hope this help ✌

---

<div class="post-metadata">

**Author:** ![ILM](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/ilm/32/363239_2.png) [@ILM](https://forum.freecodecamp.org/u/ILM)\
**Post date:** [June 1, 2021, 7:37pm UTC](https://forum.freecodecamp.org/t/to-create-a-simple-analytics-backend-for-my-ios-app-what-do-i-need-to-learn/340591/5 "2021-06-01T19:37:12Z")

</div>

Closed on June 1, 2021, 7:37pm UTC


