WEBVTT

1
00:00:00.000 --> 00:00:02.800
In this video, I want to walk you through a guide

2
00:00:02.800 --> 00:00:05.800
on how to manage your application's code,

3
00:00:05.800 --> 00:00:07.700
especially as a non-developer.

4
00:00:07.700 --> 00:00:12.700
If you are a business owner or a founder

5
00:00:16.420 --> 00:00:18.420
and you're building an application

6
00:00:18.420 --> 00:00:21.380
or some sort of platform or SaaS product,

7
00:00:21.380 --> 00:00:24.220
the odds are that you've probably shared your code

8
00:00:24.220 --> 00:00:26.820
or the app's been shared with other developers,

9
00:00:26.820 --> 00:00:28.380
maybe another company that you've hired

10
00:00:28.380 --> 00:00:30.020
to work on your application.

11
00:00:30.020 --> 00:00:31.340
And so through all of that,

12
00:00:31.340 --> 00:00:33.420
sometimes the access can get lost

13
00:00:33.420 --> 00:00:36.220
or the ownership of that code can actually get lost

14
00:00:36.220 --> 00:00:37.340
in where it's being stored.

15
00:00:37.340 --> 00:00:38.980
So in this video, I'm gonna show you

16
00:00:38.980 --> 00:00:42.760
how to essentially take back that control

17
00:00:42.760 --> 00:00:45.940
and how to essentially bring it under your own account.

18
00:00:45.940 --> 00:00:49.180
So this is gonna be the non-developer's guide

19
00:00:49.180 --> 00:00:51.620
to managing your application's code.

20
00:00:51.620 --> 00:00:55.540
And first, I'm gonna start off going through a few keywords

21
00:00:55.540 --> 00:00:57.900
and phrases that you wanna be familiar with.

22
00:00:57.900 --> 00:00:59.420
Next, I'm gonna walk through

23
00:00:59.420 --> 00:01:01.300
how you can actually take ownership of your code

24
00:01:01.300 --> 00:01:02.500
and how to get it back

25
00:01:02.500 --> 00:01:04.379
if it's already been shared with others.

26
00:01:04.379 --> 00:01:07.360
And lastly, I'm gonna show you how to download

27
00:01:07.360 --> 00:01:09.200
and view this code on your computer

28
00:01:09.200 --> 00:01:10.760
and kind of give you an insight

29
00:01:10.760 --> 00:01:13.340
as to what's happening with your application.

30
00:01:13.340 --> 00:01:15.220
So before I get started,

31
00:01:15.220 --> 00:01:17.780
I just wanna let you know that I have everything

32
00:01:17.780 --> 00:01:20.820
that I'm gonna go through is on a blog post

33
00:01:20.820 --> 00:01:22.960
on our website, Anovo.io.

34
00:01:22.960 --> 00:01:24.820
And you can check this out.

35
00:01:24.820 --> 00:01:27.020
It's kind of walks through all these pieces step-by-step.

36
00:01:27.020 --> 00:01:27.860
So I'm gonna pull this up

37
00:01:27.860 --> 00:01:29.860
just to kind of reference throughout,

38
00:01:29.860 --> 00:01:31.380
but you can check it out on our website

39
00:01:31.380 --> 00:01:34.780
if you want it kind of written in written form.

40
00:01:34.780 --> 00:01:38.380
So a few phrases you wanna get familiar with

41
00:01:38.380 --> 00:01:42.580
and a couple important terms, get repository.

42
00:01:42.580 --> 00:01:47.580
So this is essentially just a folder in the cloud

43
00:01:47.780 --> 00:01:50.240
that encompasses all of the files and folders

44
00:01:50.240 --> 00:01:54.460
and everything that's needed for your application to run.

45
00:01:54.500 --> 00:01:58.660
So typically the best practices are that you set this up,

46
00:01:58.660 --> 00:02:01.780
everybody shares their code as a team,

47
00:02:01.780 --> 00:02:03.620
and then that way you can kind of control

48
00:02:03.620 --> 00:02:06.980
who's making changes, what those changes are.

49
00:02:06.980 --> 00:02:10.680
And it essentially gives you this unlimited backup,

50
00:02:10.680 --> 00:02:13.300
essentially, if you will, of your application.

51
00:02:13.300 --> 00:02:15.660
So you can always jump back to a previous version.

52
00:02:15.660 --> 00:02:17.460
You can track who changed what.

53
00:02:17.460 --> 00:02:20.460
It just gives you a really good sense of control.

54
00:02:20.460 --> 00:02:22.480
Now, one of the tools that are used for that

55
00:02:22.480 --> 00:02:23.900
is called GitHub.

56
00:02:24.340 --> 00:02:26.420
GitHub is just a service that essentially is a place

57
00:02:26.420 --> 00:02:31.420
to host all of your Git repository.

58
00:02:31.860 --> 00:02:35.140
So similar way that GoDaddy hosts,

59
00:02:35.140 --> 00:02:37.180
you can buy a domain name through there,

60
00:02:37.180 --> 00:02:41.300
GitHub, you can actually host your repository through GitHub.

61
00:02:41.300 --> 00:02:46.300
So it's now owned by Microsoft, very secure, very safe.

62
00:02:46.860 --> 00:02:47.820
It's just a great service.

63
00:02:47.820 --> 00:02:50.360
It's probably one of the most popular ones out there.

64
00:02:50.360 --> 00:02:53.920
So we'll show you how to set up an account here with this.

65
00:02:53.920 --> 00:02:56.880
And then one of the terms we'll be using is the word commit.

66
00:02:56.880 --> 00:03:00.160
So this is essentially just a developer words

67
00:03:00.160 --> 00:03:02.240
for a change to the application's code.

68
00:03:02.240 --> 00:03:05.560
So typically developers will work on the code

69
00:03:06.600 --> 00:03:08.360
on their own computer.

70
00:03:08.360 --> 00:03:11.000
They'll get it to where they solve the problem

71
00:03:11.000 --> 00:03:12.360
or create that new feature,

72
00:03:12.360 --> 00:03:15.280
and then they'll commit it or publish the change

73
00:03:15.280 --> 00:03:17.000
to the repository.

74
00:03:17.000 --> 00:03:19.160
So it's just basically taking what's on my computer

75
00:03:19.240 --> 00:03:21.440
and pushing it up to the copy of the code

76
00:03:21.440 --> 00:03:24.480
that's in the cloud in the repository.

77
00:03:24.480 --> 00:03:28.680
And the last piece here is a Git Desktop Manager.

78
00:03:28.680 --> 00:03:31.400
So most of the time developers are not using this,

79
00:03:31.400 --> 00:03:34.920
but if you're not technical and you just want a simple way

80
00:03:34.920 --> 00:03:37.800
to sort of track what's going on with the code,

81
00:03:37.800 --> 00:03:40.080
this is a great little tool that will kind of give you

82
00:03:40.080 --> 00:03:41.840
some insight into what's changing.

83
00:03:41.840 --> 00:03:43.960
And I'll show you a couple of ways of how you can

84
00:03:43.960 --> 00:03:46.620
kind of keep an eye on what's going on with your app.

85
00:03:46.620 --> 00:03:50.860
So let's move on to the second stage here,

86
00:03:50.860 --> 00:03:52.820
which is taking ownership of your code.

87
00:03:52.820 --> 00:03:56.300
So like I said, if you've hired a contractor

88
00:03:56.300 --> 00:03:59.900
or development team to work on your application,

89
00:03:59.900 --> 00:04:04.100
then they may have initially set up the repository,

90
00:04:04.100 --> 00:04:06.140
which makes them the owners of the code,

91
00:04:06.140 --> 00:04:07.940
and then they are now sharing it with you

92
00:04:07.940 --> 00:04:09.460
or not sharing it with you at all.

93
00:04:09.460 --> 00:04:12.340
So you want to essentially take back that ownership

94
00:04:12.340 --> 00:04:16.579
and then share it with your team or with your contractors

95
00:04:17.420 --> 00:04:19.019
from there, but you want to kind of maintain ownership,

96
00:04:19.019 --> 00:04:23.540
put you in the driver's seat of the repository,

97
00:04:23.540 --> 00:04:24.980
and then you can go from there.

98
00:04:24.980 --> 00:04:27.460
So the first thing you want to do is go and set up

99
00:04:27.460 --> 00:04:29.260
a GitHub account.

100
00:04:29.260 --> 00:04:31.580
So if you go over to github.com,

101
00:04:31.580 --> 00:04:33.700
and I'll just kind of look at the pricing here.

102
00:04:33.700 --> 00:04:36.740
Essentially, you can go and set up a free account.

103
00:04:36.740 --> 00:04:40.020
And this is kind of new now that you can actually

104
00:04:40.980 --> 00:04:43.940
have unlimited private repositories on a free account,

105
00:04:43.940 --> 00:04:45.780
which is pretty fantastic.

106
00:04:45.780 --> 00:04:47.820
There are other plans you can definitely scale

107
00:04:47.820 --> 00:04:51.540
if your company grows and you have more people

108
00:04:51.540 --> 00:04:53.420
that need to have access to this.

109
00:04:53.420 --> 00:04:57.060
But on the free plan, you can invite collaborators to this.

110
00:04:57.060 --> 00:04:59.580
So that's very, very helpful because that's what...

111
00:05:00.000 --> 00:05:03.520
your developers or your team that you're going to want to bring in, you can essentially have

112
00:05:03.520 --> 00:05:08.400
unlimited people there. So very, very cool. So you're going to want to create a new account.

113
00:05:08.400 --> 00:05:12.240
And then I'm going to sign into my account and just show you kind of how we've got this

114
00:05:12.880 --> 00:05:20.560
set up for one of our own applications. So by default, everything on GitHub is public. So

115
00:05:21.120 --> 00:05:26.320
any public repositories are going to be listed out here. And you can go over to repositories,

116
00:05:26.320 --> 00:05:31.280
you can kind of see all of the different repositories we have here. And again,

117
00:05:31.280 --> 00:05:36.160
these are just basically a folder with all the files that you need to make up your application.

118
00:05:36.160 --> 00:05:41.920
So if I click into one of our own internal projects, you can see here we've got folders,

119
00:05:42.640 --> 00:05:46.240
we've got different files that make up this, you don't actually really have to know what all of

120
00:05:46.240 --> 00:05:51.520
these do or how they all connect together. But it's just good to know that this is sort of the

121
00:05:51.520 --> 00:05:59.360
folder where everything is housed. And a couple things you can do from the screen. One, if you go

122
00:05:59.360 --> 00:06:04.240
to the code here, you can actually just download a zip file, and it'll create taking a complete

123
00:06:04.240 --> 00:06:09.360
copy of this, this folder and just download it to your computer. So that's the simplest way to

124
00:06:10.480 --> 00:06:15.760
get it. And then I'll show you some other ways of how you can kind of sync it. There's some tools

125
00:06:15.760 --> 00:06:21.760
here with this GitHub desktop. And another tool that will essentially let you stay in sync because

126
00:06:21.760 --> 00:06:25.680
the problem with downloading the file once is that as soon as the next person makes a change,

127
00:06:25.680 --> 00:06:29.520
you all of a sudden you're out of sync. And so it's not necessarily a great practice to just

128
00:06:29.520 --> 00:06:33.920
download that. So from here, you can download the code, you can kind of see changes that are being

129
00:06:33.920 --> 00:06:38.000
made. And the last thing you can do on this screen that's important is go to the settings.

130
00:06:38.960 --> 00:06:45.920
And then once you're in settings, you can go in and go to manage access. And this is where you can

131
00:06:45.920 --> 00:06:52.640
actually manage access for your team. So you can come to this button over here, and you can actually

132
00:06:52.640 --> 00:06:59.120
invite your own team members by name. And this will actually search all through GitHub and let

133
00:06:59.120 --> 00:07:04.480
you find the user or the person that you're looking for. If you're working with developers

134
00:07:04.720 --> 00:07:09.200
or development company, they're definitely going to have a GitHub account. This is kind of the go

135
00:07:09.200 --> 00:07:14.080
to for most developers. And then you can also manage who has access and you can hit this

136
00:07:14.080 --> 00:07:19.360
trashcan icon if you want to delete or remove that person's access. So this is where all the

137
00:07:19.360 --> 00:07:24.160
access takes place. There's a lot of other screens here. But really, this is where you

138
00:07:24.160 --> 00:07:31.120
should pay the most attention as far as who has access and who doesn't. So that is GitHub.

139
00:07:32.000 --> 00:07:36.400
And so you want to create that account. And so like I said, if this is on another account,

140
00:07:36.400 --> 00:07:40.560
you can actually request that your developers or the company you're working with can actually

141
00:07:40.560 --> 00:07:46.240
transfer that ownership of that repository over to you. But you do have to have a GitHub account

142
00:07:46.240 --> 00:07:52.080
first in order to do that. And then the last thing you want to do is just to invite those

143
00:07:52.080 --> 00:07:58.160
developers back. So once you've got ownership, you can then invite them as a collaborator so

144
00:07:58.160 --> 00:08:04.000
that you sort of maintain all the ownership there. This last step is just downloading a

145
00:08:04.000 --> 00:08:12.480
copy of the code and keeping track of the code. So there's two Git applications that we can get.

146
00:08:12.480 --> 00:08:20.400
There's GitHub, which we just looked at has their own desktop app. It is a little more complex. It's

147
00:08:20.400 --> 00:08:26.800
very powerful, but it's a little more complex as far as I think there's an easier one. I actually

148
00:08:26.800 --> 00:08:35.600
personally use Gitbox, which is just 15 bucks, I think, whereas the GitHub desktop is free.

149
00:08:35.600 --> 00:08:41.280
And so what I'll do is I'll show you what this actually looks like. So we looked at the app

150
00:08:42.559 --> 00:08:50.080
here. As Tribe Social, we looked at what it looks like from the browser. And then what I can do is

151
00:08:50.080 --> 00:08:56.640
open up GitHub here. And you'll see that I've got all my different repositories listed out here.

152
00:08:57.360 --> 00:09:01.840
The design kind of background for this is to kind of look a little bit like Apple

153
00:09:01.840 --> 00:09:06.720
Mail. So if you use Apple Mail, they're trying to copy a lot of the same UI. So it's very familiar

154
00:09:06.720 --> 00:09:12.480
looking. So you click into the repository you want, and then you can see all of the changes

155
00:09:12.480 --> 00:09:16.880
in kind of a simplified form. And if you click into one of these, you can actually see what

156
00:09:16.880 --> 00:09:24.480
files are changing. And it's very helpful if you want to just see that they're essentially

157
00:09:24.480 --> 00:09:28.000
movements. If you're waiting for a change to happen, you're not seeing it, you want to know

158
00:09:28.000 --> 00:09:32.240
what's going on. And you hear developers maybe not being responsive. This is a great thing,

159
00:09:32.240 --> 00:09:36.560
you can kind of go in there and be like, have we made any changes? Are we pushing anything?

160
00:09:36.560 --> 00:09:43.200
And best practices for this is, especially for our team, is we have our team commit daily so that

161
00:09:43.200 --> 00:09:50.880
we don't end up with going for days or weeks where there's a copy on one developer's computer,

162
00:09:50.880 --> 00:09:55.120
and it's not backed up anywhere, that computer gets dropped or stolen or whatever. And then

163
00:09:55.120 --> 00:09:59.760
that whole, you know, all that works that's been done has, you know, isn't, you can't get it back.

164
00:10:00.000 --> 00:10:02.360
So we have our team kind of end of each day,

165
00:10:02.360 --> 00:10:04.480
just commit the changes they have.

166
00:10:04.480 --> 00:10:08.400
And that lets us sort of track what's happening in the app.

167
00:10:08.400 --> 00:10:09.800
So this is a great little tool.

168
00:10:09.800 --> 00:10:12.160
Again, you don't really need to do much with it,

169
00:10:12.160 --> 00:10:17.160
but it's just helpful to see that there's movement here.

170
00:10:17.400 --> 00:10:20.440
And then when I go to my Finder,

171
00:10:20.440 --> 00:10:24.000
I can actually open up that repository into a folder.

172
00:10:24.000 --> 00:10:26.640
So if I go here and we open Tribe Social,

173
00:10:26.640 --> 00:10:29.280
you'll see that this list of files

174
00:10:29.280 --> 00:10:33.200
actually matches the list of files we have up here.

175
00:10:33.200 --> 00:10:36.160
So very similar to Dropbox or Google Drive,

176
00:10:36.160 --> 00:10:37.680
it's just taking what's up here

177
00:10:37.680 --> 00:10:39.400
and just downloading it to your computer,

178
00:10:39.400 --> 00:10:41.000
letting you work on it, make changes,

179
00:10:41.000 --> 00:10:42.760
and then you can sort of publish those changes

180
00:10:42.760 --> 00:10:45.400
with a commit through Gitbox.

181
00:10:45.400 --> 00:10:47.360
So that's sort of the workflow there

182
00:10:47.360 --> 00:10:49.480
that most developers are using.

183
00:10:49.480 --> 00:10:51.540
I think that as a founder,

184
00:10:51.540 --> 00:10:55.000
it's very helpful to have access to this

185
00:10:55.000 --> 00:10:57.200
just because you'll sleep better at night

186
00:10:57.200 --> 00:10:59.320
knowing that you have access

187
00:10:59.320 --> 00:11:02.120
and you're sort of in control of your own applications.

188
00:11:02.120 --> 00:11:04.960
You've probably invested a lot to get to this point.

189
00:11:04.960 --> 00:11:08.240
It's definitely worth kind of taking ownership of that.

190
00:11:08.240 --> 00:11:11.760
So definitely check out our blog post

191
00:11:11.760 --> 00:11:14.980
if you want to see like the sort of details of all this.

192
00:11:14.980 --> 00:11:17.440
And I'd be happy to answer any questions.

193
00:11:17.440 --> 00:11:19.720
If you want to drop a comment under this video

194
00:11:19.720 --> 00:11:22.600
or on our blog post, I'll be happy to answer any questions,

195
00:11:22.600 --> 00:11:23.980
but I hope this was helpful.

196
00:11:23.980 --> 00:11:26.240
And hopefully this will help you sleep better at night

197
00:11:26.240 --> 00:11:29.020
knowing that you have ownership of your code

198
00:11:29.020 --> 00:11:31.000
and you can keep moving forward,

199
00:11:31.000 --> 00:11:33.200
sort of managing exactly what's going on

200
00:11:33.200 --> 00:11:34.320
with your application.

201
00:11:34.320 --> 00:11:35.320
Thanks for watching.

202
00:11:35.320 --> 00:11:37.820
♪♪♪
