C++ Collaboration

262 views Asked by At

I'm trying to start a collaborative C++ project that requires multithreading, networking, MySQL and Unicode (UTF-16) support (essentially a networked application).

I've found the POCO library to be a source of all of these features and it seems like a good library to use.

This will be my first collaborative project so assume no knowledge of how to use GIT and alike. I have a server that I can use as a repository as I'd prefer to use my own than an online service.

What sort of setup would you suggest for this and how would you go about setting everything up?

Sorry if this seems like a specific 'Help me' request, but after trawling for days I assume this hasn't been discussed much and so any info you post here will help others who find themselves in my position.

Thanks for any replies.

2

There are 2 answers

1
MarkR On

Wow, I wonder where to start.

  • Have you considered all possibilities for programming language, tools etc?
  • Why do you say "requires multithreading" ? Multithreading is usually an optimisation, hence to require it initially is either an extremely premature optimisation, or a wise choice based on experience. However, you say this is "your first collaborative project", so presumably it's the former.
  • Are any members of your team more experienced than you? If so, they should probably choose tools and technology (or at least have a hand in the decision).

Are you in a managerial position here? How experienced is your team?

If your team is very inexperienced, it might assume that this is a good idea. If it is experienced, they will probably want to a) Start in an easier language b) Do optimisations later rather than sooner.

I think it's fair to say that no software application "requires C++, multithreading, MySQL" as those are design decisions.

How well documented is your design? Has your team reviewed / critiqued it extensively?

How well documented are your requirements?

1
VoronoiPotato On

http://gitref.org/ Will give you a good head start on learning git, which might just be the route you want to go if you're interested in a less centralized solution.