1558099705
In this tutorial, we will build a simple app with Node.Js using ExpressJs framework and MongoDB.
So, first of all, this one is my first blog. I am currently working as a full stack developer but mostly I stuck with front-end today we are going to learn basic operation using Nodejs and MongoDB and also use nodemon
I remember when I eventually picked up the courage to try, I had such a hard time understanding the documentation for Express, MongoDB, and Node.js that I gave up.
One month later, I finally understood how to work with these tools. Then, I decided to write a comprehensive blog so you won’t have to go through the same headache I went through.
one thing you need to install node …. I know you can do this…. nodejs
To check if you have Node installed, open up your command line and run the following code: $node -v
You should get a version number if you have Node installed. If you don’t, you can install Node either
Start by creating a folder for this project. Feel free to call it anything you want. Once you navigate into it, run the npm init
command. This command creates a package.json
file which helps you manage dependencies that we install later in the blog.
The simplest way to use node is to run the node
command and specify a path to a file. Let’s create a file called server.js
to run node with
$ touch server.js
When the execute the server.js
file, we want to make sure it’s running properly. To do so, simply write a console.log
statement in server.js
console.log('pdp pdp pdp pdp')
Now, run node server.js
in your command line and you should see the statement you logged — — pdp pdp pdp pdp
We first have to install Express before we can use it in our application. Installing Express is pretty easy. All we have to do is run an install command with Node package manager (npm), which comes bundled with Node. Run the npm install express --save
command in your command line
$ npm install express --save
Once you’re done, you should see that npm has saved Express as a dependency in package.json
Next, we use express in server.js
by requiring it.
const express = require('express');
const app = express();
The first thing we want to do is to create a server where browsers can connect. We can do so with the help of a listen
method provided by Express:
app.listen(3000, function() {
console.log('listening on 3000')
})
Now, run node server.js
and navigate to localhost:3000
on your browser. You should see a message that says “cannot get /”. nice great news just kidding…… this is just beginning. The READ operation is performed by browsers whenever you visit a webpage. Under the hood, browsers send a GET request to the server to perform a READ operation. The reason we see the “cannot get /” error is because we have yet to send anything back to the browser from our server.
In Expressjs, we handle a GET request with the get
method:
app.get(path, callback)
The first argument, path
, is the path of the GET request. It’s anything that comes after your domain name.
When we’re visiting localhost:3000
, our browsers are actually looking for localhost:3000/
. The path argument in this case is /
.The second argument is a callback function that tells the server what to do when the path is matched. It takes two arguments, a request object and a response object:
app.get('/', function (request, response) {
// work here
})
For now, let’s write “PDP” back to the browser. We do so by using a send
method that comes with the response object:
app.get('/', function(req, res) {
res.send('PDP')
})
I’m going to start writing in ES6 code and show you how to convert to ES6 along the way as well. First off, I’m replacing function()
with an ES6 arrow function. The below code is the same as the above code:
app.get('/', (req, res) => {
res.send('PDP')
})
Now, restart your server by doing the following:
CTRL + C
in the command line.node server.js
again.Then, navigate to localhost:3000
on your browser. You should be able to see a string that says “PDP”.
Great. Let’s change our app so we serve an index.html
page back to the browser instead. To do so, we use the sendFile
method that’s provided by the res
object.
res.sendFile(__dirname + '/index.html')
In the sendFile
method above, we told Express to serve an index.html
file that can be found in the root of your project folder. We don’t have that file yet. Let’s make it now.
touch index.html
Let’s put some text in our index.html
file as well:
MY APP
May Node and Express be with you.
Restart your server and refresh your browser. You should be able to see the results of your HTML file now.
This is how Express handles a GET request (READ operation) in a nutshell.
At this point, you probably have realized that you need to restart your server whenever you make a change to server.js
. This is process is incredibly tedious, so let’s take a quick detour and streamline it by using a package called nodemon.
Nodemon restarts the server automatically whenever you save a file that the server uses. We can install Nodemon by using the following command:
$ npm install nodemon --save-dev
Note: The reason we’re using a --save-dev
flag here is because we’re only using Nodemon when we’re developing. This flag would save Nodemon as a devDependency
in your package.json
file.
Moving on, Nodemon behaves exactly the same as node, which means we can run our server by calling nodemon server.js
. However, we can’t do it in the command line right now because Nodemon isn’t installed with a -g
flag.
There’s one other way to run Nodemon — we can execute Nodemon from the node_modules
folder. The code looks like this:
$ ./node_modules/.bin/nodemon server.js
That’s a handful to type. One way to make it simpler is to create a script
key in package.json
.
"scripts": {
"dev": "nodemon server.js"
}
Now, you can run npm run dev
to trigger nodemon server.js
.
Back to the main topic. We’re going to cover the CREATE operation next.
The CREATE operation is only performed by the browser if a POSTrequest is sent to the server. This POST request can be triggered either with JavaScript or through a `` element.
Let’s find out how to use a `` element to create new entries for our Star Wars quote app for this part of the tutorial.
To do so, you first have to create a `` element and add it to your index.html
file. You need to have three things on this form element:
action
attribute,method
attribute,name
attributes on all ` elements within the form.
Submit
The action
attribute tells the browser where to navigate to in our Express app. In this case, we’re navigating to /quotes
. The method
attribute tells the browser what request to send. In this case, it’s a POST request.
On our server, we can handle this POST request with a post
method that Express provides. It takes the same arguments as the GET method:
app.post('/quotes', (req, res) => {
console.log('Hellooooooooooooooooo!')
})
Restart your server (hopefully you’ve set up Nodemon so it restarts automatically) and refresh your browser. Then, enter something into your form element. You should be able to see Hellooooooooooooooooo!
in your command line.
Great, we know that Express is handling the form for us right now. The next question is, how do we get the input values with Express?
Turns out, Express doesn’t handle reading data from the ``element on it’s own. We have to add another package called body-parserto gain this functionality.
$ npm install body-parser --save
Express allows us to add middleware like body-parser to our application with the use
method. You’ll hear the term middleware a lot when dealing with Express. These things are basically plugins that change the request or response object before they get handled by our application. Make sure you place body-parser before your CRUD handlers!
const express = require('express')
const bodyParser= require('body-parser')
const app = express()
app.use(bodyParser.urlencoded({extended: true}))
The urlencoded
method within body-parser tells body-parser to extract data from the `` element and add them to the body
property in the request
object.
Now, you should be able to see everything in the form field within the req.body
object. Try doing a console.log
and see what it is!
app.post('/quotes', (req, res) => {
console.log(req.body)
})
You should be able to get an object similar to the following in your command line:
{
name: 'pdp',
quotes: 'pdp psr pdp'
}
Enter the Database, MongoDB
We first have to install MongoDB through npm if we want to use it as our database.
$ npm install mongodb --save
Once installed, we can connect to MongoDB through the MongoClient
’s connect method as shown in the code below:
const MongoClient = require('mongodb').MongoClient MongoClient.connect('link-to-mongodb', (err, database) => {
// ... start the server
})
The next part is to get the correct link to our database. Most people store their databases on cloud services like mLab (formerly MongoLab). We’re going to do same as well.
So, go ahead and create an account with mLab. (It’s free.) Once you’re done, create a new MongoDB Deployment
Once you’re done creating the deployment, head into it and create a database user and database password. Remember the database user and database password because you’re going to use it to connect the database you’ve just created.
Finally, grab the MongoDB url and add it to your MongoClient.connect
method. Make sure you use your database user and password!
Next, we want to start our servers only when the database is connected. Hence, let’s move app.listen
into the connect
method. We’re also going to create a db
variable to allow us to use the database when we handle requests from the browser.
const client = new MongoClient(url, { useNewUrlParser: true });
client.connect((err, database) => {
db = database.db("test")
app.listen(3000, function () {
})
})
We’re done setting up MongoDB. Now, let’s create a quotes
collection to store quotes for our application.
By the way, a collection is a named location to store stuff. You can create as many collections as you want. It can be things like “products”, “quotes”, “groceries”, or any other labels you choose.
We can create the quotes
collection by using the string quotes
while calling MongoDB’s db.collection()
method. While creating the quotes collection, we can also save our first entry into MongoDB with the save
method simultaneously.
Once we’re done saving, we have to redirect the user somewhere (or they’ll be stuck waiting forever for our server to move). In this case, we’re going to redirect them back to /
, which causes their browsers to
app.post('/quotes', (req, res) => { db.collection('quotes').save(req.body, (err, result) => {
if (err) return console.log(err)
console.log('saved to database')
res.redirect('/')
})
})
Now, if you enter something into the `` element, you’ll be able to see an entry in your MongoDB collection.
oh, sorry button is also there maybe I made mistake but leave it now…
Whoohoo! Since we already have some quotes in the collection, why not try showing them to our user when they land on our page?
We have to do two things to show the quotes stored in mLab to our users.
Let’s go one step at a time.
We can get the quotes from mLab by using the find
method that’s available in the collection
method.
app.get('/', (req, res) => {
var cursor = db.collection('quotes').find()
})
The find
method returns a cursor
(a Mongo object) that probably doesn’t make sense if you console.log
it out. this cursor
object contains all quotes from our database. It also contains a bunch of other properties and methods that allow us to work with data easily. One such method is the toArray
method.The toArray
method takes in a callback function that allows us to do stuff with quotes we retrieved from mLab. Let’s try doing a console.log()
for the results and see what we get!
var cursor = db.collection('quotes').find().toArray(function(err, result){
console.log('kya baat bhai mast')
if (err) { return console.log(err) }
console.log('haanbhai', result)
res.render('index.ejs', {quotes: result})
})
We can’t serve our index.html
file and expect quotes to magically appear because there’s no way to add dynamic content to a HTML file. What we can do instead, is to use template engines to help us out. Some popular template engines include Jade, Embedded JavaScript and Nunjucks.
I’ve written extensively about the how and why of template engines in a separate post. You might want to check it out if you have no idea what template engines are. I personally use (and recommend) Nunjucks as my template engine of choice. Feel free to check out the post to find out why.
For this tutorial, we’re going to use Embedded JavaScript (ejs
) as our template engine because it’s the easiest to start with. You’ll find it familiar from the get-go since you already know HTML and JavaScript.
We can use EJS by first installing it, then setting the view engine
in Express to ejs
.
$ npm install ejs --save
code in server.js
app.set('view engine', 'ejs')
Once the view engine
is set, we can begin generating the HTML with our quotes. This process is also called rendering. We can use the render
object built into the response
object render
to do so. It has the following syntax:
res.render(view, locals)
The first parameter, view
, is the name of the file we’re rendering. This file must be placed within a views
folder.
The second parameter, locals
, is an object that passes data into the view.
Let’s first create an index.ejs
file within the views
folder so we can start populating data.
$ mkdir views
$ touch views/index.ejs
Now, place the following code within index.ejs
.
See what I mean when I say you’ll find it familiar? In EJS, you can write JavaScript within tags. You can also output JavaScript as strings if you use the
tags.
Here, you can see that we’re basically looping through the quotes
array and creating strings with quotes[i].name
and quotes[i].quote
.
One more thing to do before we move on from the index.ejs
file. Remember to copy the `` element from the index.html
file into this file as well. The complete index.ejs
file so far should be:
MY APP
May Node and Express be with you. and pdp ki blessing
Submit
Finally, we have to render this index.ejs
file when handling the GETrequest. Here, we’re setting the results (an array) as the quotes
array we used in index.ejs
above.
app.get('/', (req, res) => {
// res.sendFile(__dirname + '/index.html');
var cursor = db.collection('quotes').find().toArray(function(err, result){
console.log('kya baat bhai mast')
if (err) { return console.log(err) }
console.log('haanbhai', result)
res.render('index.ejs', {quotes: result})
})
})
Now, refresh your browser and you should be able to see quotes.
#node-js #mongodb #express #javascript
1595059664
With more of us using smartphones, the popularity of mobile applications has exploded. In the digital era, the number of people looking for products and services online is growing rapidly. Smartphone owners look for mobile applications that give them quick access to companies’ products and services. As a result, mobile apps provide customers with a lot of benefits in just one device.
Likewise, companies use mobile apps to increase customer loyalty and improve their services. Mobile Developers are in high demand as companies use apps not only to create brand awareness but also to gather information. For that reason, mobile apps are used as tools to collect valuable data from customers to help companies improve their offer.
There are many types of mobile applications, each with its own advantages. For example, native apps perform better, while web apps don’t need to be customized for the platform or operating system (OS). Likewise, hybrid apps provide users with comfortable user experience. However, you may be wondering how long it takes to develop an app.
To give you an idea of how long the app development process takes, here’s a short guide.
_Average time spent: two to five weeks _
This is the initial stage and a crucial step in setting the project in the right direction. In this stage, you brainstorm ideas and select the best one. Apart from that, you’ll need to do some research to see if your idea is viable. Remember that coming up with an idea is easy; the hard part is to make it a reality.
All your ideas may seem viable, but you still have to run some tests to keep it as real as possible. For that reason, when Web Developers are building a web app, they analyze the available ideas to see which one is the best match for the targeted audience.
Targeting the right audience is crucial when you are developing an app. It saves time when shaping the app in the right direction as you have a clear set of objectives. Likewise, analyzing how the app affects the market is essential. During the research process, App Developers must gather information about potential competitors and threats. This helps the app owners develop strategies to tackle difficulties that come up after the launch.
The research process can take several weeks, but it determines how successful your app can be. For that reason, you must take your time to know all the weaknesses and strengths of the competitors, possible app strategies, and targeted audience.
The outcomes of this stage are app prototypes and the minimum feasible product.
#android app #frontend #ios app #minimum viable product (mvp) #mobile app development #web development #android app development #app development #app development for ios and android #app development process #ios and android app development #ios app development #stages in app development
1595494844
Are you leading an organization that has a large campus, e.g., a large university? You are probably thinking of introducing an electric scooter/bicycle fleet on the campus, and why wouldn’t you?
Introducing micro-mobility in your campus with the help of such a fleet would help the people on the campus significantly. People would save money since they don’t need to use a car for a short distance. Your campus will see a drastic reduction in congestion, moreover, its carbon footprint will reduce.
Micro-mobility is relatively new though and you would need help. You would need to select an appropriate fleet of vehicles. The people on your campus would need to find electric scooters or electric bikes for commuting, and you need to provide a solution for this.
To be more specific, you need a short-term electric bike rental app. With such an app, you will be able to easily offer micro-mobility to the people on the campus. We at Devathon have built Autorent exactly for this.
What does Autorent do and how can it help you? How does it enable you to introduce micro-mobility on your campus? We explain these in this article, however, we will touch upon a few basics first.
You are probably thinking about micro-mobility relatively recently, aren’t you? A few relevant insights about it could help you to better appreciate its importance.
Micro-mobility is a new trend in transportation, and it uses vehicles that are considerably smaller than cars. Electric scooters (e-scooters) and electric bikes (e-bikes) are the most popular forms of micro-mobility, however, there are also e-unicycles and e-skateboards.
You might have already seen e-scooters, which are kick scooters that come with a motor. Thanks to its motor, an e-scooter can achieve a speed of up to 20 km/h. On the other hand, e-bikes are popular in China and Japan, and they come with a motor, and you can reach a speed of 40 km/h.
You obviously can’t use these vehicles for very long commutes, however, what if you need to travel a short distance? Even if you have a reasonable public transport facility in the city, it might not cover the route you need to take. Take the example of a large university campus. Such a campus is often at a considerable distance from the central business district of the city where it’s located. While public transport facilities may serve the central business district, they wouldn’t serve this large campus. Currently, many people drive their cars even for short distances.
As you know, that brings its own set of challenges. Vehicular traffic adds significantly to pollution, moreover, finding a parking spot can be hard in crowded urban districts.
Well, you can reduce your carbon footprint if you use an electric car. However, electric cars are still new, and many countries are still building the necessary infrastructure for them. Your large campus might not have the necessary infrastructure for them either. Presently, electric cars don’t represent a viable option in most geographies.
As a result, you need to buy and maintain a car even if your commute is short. In addition to dealing with parking problems, you need to spend significantly on your car.
All of these factors have combined to make people sit up and think seriously about cars. Many people are now seriously considering whether a car is really the best option even if they have to commute only a short distance.
This is where micro-mobility enters the picture. When you commute a short distance regularly, e-scooters or e-bikes are viable options. You limit your carbon footprints and you cut costs!
Businesses have seen this shift in thinking, and e-scooter companies like Lime and Bird have entered this field in a big way. They let you rent e-scooters by the minute. On the other hand, start-ups like Jump and Lyft have entered the e-bike market.
Think of your campus now! The people there might need to travel short distances within the campus, and e-scooters can really help them.
What advantages can you get from micro-mobility? Let’s take a deeper look into this question.
Micro-mobility can offer several advantages to the people on your campus, e.g.:
#android app #autorent #ios app #mobile app development #app like bird #app like bounce #app like lime #autorent #bird scooter business model #bird scooter rental #bird scooter rental cost #bird scooter rental price #clone app like bird #clone app like bounce #clone app like lime #electric rental scooters #electric scooter company #electric scooter rental business #how do you start a moped #how to start a moped #how to start a scooter rental business #how to start an electric company #how to start electric scooterrental business #lime scooter business model #scooter franchise #scooter rental business #scooter rental business for sale #scooter rental business insurance #scooters franchise cost #white label app like bird #white label app like bounce #white label app like lime
1595491178
The electric scooter revolution has caught on super-fast taking many cities across the globe by storm. eScooters, a renovated version of old-school scooters now turned into electric vehicles are an environmentally friendly solution to current on-demand commute problems. They work on engines, like cars, enabling short traveling distances without hassle. The result is that these groundbreaking electric machines can now provide faster transport for less — cheaper than Uber and faster than Metro.
Since they are durable, fast, easy to operate and maintain, and are more convenient to park compared to four-wheelers, the eScooters trend has and continues to spike interest as a promising growth area. Several companies and universities are increasingly setting up shop to provide eScooter services realizing a would-be profitable business model and a ready customer base that is university students or residents in need of faster and cheap travel going about their business in school, town, and other surrounding areas.
In many countries including the U.S., Canada, Mexico, U.K., Germany, France, China, Japan, India, Brazil and Mexico and more, a growing number of eScooter users both locals and tourists can now be seen effortlessly passing lines of drivers stuck in the endless and unmoving traffic.
A recent report by McKinsey revealed that the E-Scooter industry will be worth― $200 billion to $300 billion in the United States, $100 billion to $150 billion in Europe, and $30 billion to $50 billion in China in 2030. The e-Scooter revenue model will also spike and is projected to rise by more than 20% amounting to approximately $5 billion.
And, with a necessity to move people away from high carbon prints, traffic and congestion issues brought about by car-centric transport systems in cities, more and more city planners are developing more bike/scooter lanes and adopting zero-emission plans. This is the force behind the booming electric scooter market and the numbers will only go higher and higher.
Companies that have taken advantage of the growing eScooter trend develop an appthat allows them to provide efficient eScooter services. Such an app enables them to be able to locate bike pick-up and drop points through fully integrated google maps.
It’s clear that e scooters will increasingly become more common and the e-scooter business model will continue to grab the attention of manufacturers, investors, entrepreneurs. All this should go ahead with a quest to know what are some of the best electric bikes in the market especially for anyone who would want to get started in the electric bikes/scooters rental business.
We have done a comprehensive list of the best electric bikes! Each bike has been reviewed in depth and includes a full list of specs and a photo.
https://www.kickstarter.com/projects/enkicycles/billy-were-redefining-joyrides
To start us off is the Billy eBike, a powerful go-anywhere urban electric bike that’s specially designed to offer an exciting ride like no other whether you want to ride to the grocery store, cafe, work or school. The Billy eBike comes in 4 color options – Billy Blue, Polished aluminium, Artic white, and Stealth black.
Price: $2490
Available countries
Available in the USA, Europe, Asia, South Africa and Australia.This item ships from the USA. Buyers are therefore responsible for any taxes and/or customs duties incurred once it arrives in your country.
Features
Specifications
Why Should You Buy This?
**Who Should Ride Billy? **
Both new and experienced riders
**Where to Buy? **Local distributors or ships from the USA.
Featuring a sleek and lightweight aluminum frame design, the 200-Series ebike takes your riding experience to greater heights. Available in both black and white this ebike comes with a connected app, which allows you to plan activities, map distances and routes while also allowing connections with fellow riders.
Price: $2099.00
Available countries
The Genze 200 series e-Bike is available at GenZe retail locations across the U.S or online via GenZe.com website. Customers from outside the US can ship the product while incurring the relevant charges.
Features
Specifications
https://ebikestore.com/shop/norco-vlt-s2/
The Norco VLT S2 is a front suspension e-Bike with solid components alongside the reliable Bosch Performance Line Power systems that offer precise pedal assistance during any riding situation.
Price: $2,699.00
Available countries
This item is available via the various Norco bikes international distributors.
Features
Specifications
http://www.bodoevs.com/bodoev/products_show.asp?product_id=13
Manufactured by Bodo Vehicle Group Limited, the Bodo EV is specially designed for strong power and extraordinary long service to facilitate super amazing rides. The Bodo Vehicle Company is a striking top in electric vehicles brand field in China and across the globe. Their Bodo EV will no doubt provide your riders with high-level riding satisfaction owing to its high-quality design, strength, breaking stability and speed.
Price: $799
Available countries
This item ships from China with buyers bearing the shipping costs and other variables prior to delivery.
Features
Specifications
#android app #autorent #entrepreneurship #ios app #minimum viable product (mvp) #mobile app development #news #app like bird #app like bounce #app like lime #autorent #best electric bikes 2020 #best electric bikes for rental business #best electric kick scooters 2020 #best electric kickscooters for rental business #best electric scooters 2020 #best electric scooters for rental business #bird scooter business model #bird scooter rental #bird scooter rental cost #bird scooter rental price #clone app like bird #clone app like bounce #clone app like lime #electric rental scooters #electric scooter company #electric scooter rental business #how do you start a moped #how to start a moped #how to start a scooter rental business #how to start an electric company #how to start electric scooterrental business #lime scooter business model #scooter franchise #scooter rental business #scooter rental business for sale #scooter rental business insurance #scooters franchise cost #white label app like bird #white label app like bounce #white label app like lime
1623498517
AppClues Infotech is one of the leading NodeJS app development company in USA that offering excellent NodeJS development services for web app development. We provide customized and high-quality NodeJS app development services to clients for different industries with advanced technology and functionalities.
Our dedicated app developers have years of experience in NodeJS development and thus successfully deliver cost-effective and highly customized solutions using the robust JavaScript engine of NodeJS.
Why Choose AppClues Infotech for NodeJS Application Development?
• Fast App Development
• Real-Time Application
• JSON (JavaScript Object Notation) in your Database
• Single Codebase
• Lower Cost
• Built-in NPM Support
• Inexpensive Testing and Hosting
For more info:
Website: https://www.appcluesinfotech.com/
Email: info@appcluesinfotech.com
Call: +1-978-309-9910
#top nodejs app development company in usa #nodejs web app development #nodejs development agency in usa #hire nodejs app developers in usa #custom nodejs app development company #best nodejs app development service company
1622097769
Many times, the cost of developing a social networking app depends on your selection of a Mobile App Development Company. The fact is there is no fix cost to develop a social networking app but it depends on features provided in social networking app and it is recommended for making an enchanting social networking app, you need to keep more focus on features.
Before you make any final decision on how much would it cost to develop a social networking app, you need to analyze the leading social networking app like Twitter, Instagram, Facebook, etc. The reason behind the success of these social networking apps is flawless user-friendly features. You also have to maintain your app and bring new updates and for that you need to have enough budgets.
Lets have a look at some of the features of Twitter as follows.
Timeline
Discover what your favorite sports, news, politics, and entertainment thought leaders are talking about
Experience dynamic media — like photos, videos, and GIFs
Retweet, share, like, or reply to Tweets in your timeline
Write a Tweet to let the world know what’s happening with you
Explore
See what topics and hashtags are trending now
Discover Moments, curated stories showcasing the very best of today’s biggest events
Get caught up on news headlines and videos
Relive the latest sports highlights
Be in the know about pop culture and entertainment
See what fun stories are going viral
Notifications
Find out who started following you
Discover which of your Tweets were liked or Retweeted
Respond to replies or be alerted to Tweets you were mentioned in
Messages
Chat privately with friends and followers
Share Tweets and other media
Create a group conversation with anyone who follows you
Profile
Customize your profile with a photo, description, location, and background photo
Look back at your Tweets, Retweets, replies, media, and likes
Connect
Get suggestions on influential people to follow
Sync your contacts to find friends currently on Twitter or invite more
As a starting application it can cost around $7000 to $45000, it all depends on how many features do want to include in your app.
Have a Project in Mind? Let’s talk!!!
Connect with us at http://www.appcluesinfotech.com/
View our portfolio: http://www.appcluesinfotech.com/#our-works
#cost to build an app like twitter #create a social media app #build a twitter like app for android #build a twitter like app for iphone #how to create a social media app #create your own twitter app