How to partial sharing product code in company? - version-control

I'm developing a app which would be my startup product. Surely, it has serverside and clientside code. Creating separate repository for each one is common task. When I work with someone, I'll give them authority to access their own repository.
But, when my project grows big, the needs for sharing partial codes would be arised. For example, when I hire someone as part-time job to maintenance some UI part of my product, opening all access to clientside code would be danger. Because he would be copy or get my product's essential idea in the business logic code.
It also occurs at serverside code. In the server, many control layers are mixed. When I hire someone, not a permanent worker of my company but as a part-time worker, I want to only give him a part of source code. Giving all access to product code is crazy because serverside code has lots of private keys and administrator datas.
I think that these problems are common to IT company like facebook or google. But I can't find any methodology or idea how to handle these problem. Can anyone teach me? Thanks.

Related

Framework for educational site and forum with single database

I'm newbie in back-end development, that's why I want to start learning not from pure coding but choosing framework. Want to understand, how it works and start writing unique code by myself.
I've tried to choose framework basing on my future project and couldn't do it without the qualified help. I've searched before to write here, but couldn't find all I need. I don't ask for deep pieces of advice, manuals or so here. Hope, that you as more experienced can show me few ways and I'll choose the one by myself.
What I need to do with framework capabilities:
Forum:
one (or crossing) users' database with site
one header and footer for forum and site
changeble design themes (full CSS support)
groups' rights and design
user's rights and design
moderators, admins, plain users
forum sections, that could be nested
themes
visual post formatting
images inserting
symbols counting in posts
symbols counting for each user in theme
Site:
same to forum users, their groups and rights
user profile with settings
guest book
education module: timetable by user group, courses with lessons, homework sending/discussing, homework statuses, marks/journal of all users and user groups, educational statistics for user groups
public user profile with text form data and all marks, forum activity, statuses and other information
autoposting some data from user profile to forum and updating it when changing the profile
inactivation/activation/ban for user accounts
IP viewing for admins: can see, what users/forum's messages have the same IP
messenger: private chats, private and public chat groups, auto-adding users to chats by users' group
private user notes, that are visible only for admins
bonus accrual
store, when users can change bonuses for virtual goods and session of playing game for random gifts
visual map, where everyone can see all forum sections and what users are on them
plain newspaper: issues with structured articles (a la usual blog posts), commenting for users, offering article feature
I know, that it's so much, but project is mine. And it can be developing for a long time. If I need to study a year or few, it's okay.
How do you think, what frameworks have the most of modules for described functional? Please, don't argufy. Write here if you had experience (or you know somebody who had) of realising features, that're described above.
Programming language doesn't matter (because I'm noob in all of them), but I think about Ruby and PHP (and PHPBB forum). Others are ok too, if them can afford what I need.
Sorry if I unknowingly said something wrong. Tell me and I'll fix it.
Your wanting to build a lot for someone that knows nothing about any languages.
First you need to pick a platform/OS.. Windows or Unix/Linux?
From there, you can pick a Web Server to run on based on that OS.
Then that filters out what kind of language your going to write with.
EDIT:
When someone wants to be a mechanic, do they go to each mechanic shop and ask what is the best car to work on? Each mechanic would have a different answer. No one here, will be able to give you a non-bias answer. So here is what I like....
I write code in 18 languages and been have developed software for 25 years. I've written code for DOS, Windows, and Linux/Unix. Each language has it's own limitation and perfections, but I'm not a fan of open source and most Linux/Unix preferred languages even though some can run on Windows. I have a tendency to lean towards windows and enjoy back end development. I've written Web UIs in Angular, JSP, Java Spring Boot, WebFOCUS and ASP Classic. Now that you know more about me, here are my favorites.
I prefer Windows. I prefer C#. If I have to build a web UI, I prefer HTML 5/CSS3/Javascript with an ASP.NET/C# backend. I don't like bootstrap or jquery as I like to write with a small footprint as do most any older developer. The internet is full of garbage that isn't being used by most every site you go to, just so the developer can get a few shortcuts. Bootstrap and JQuery are just javascript libraries of which most sites can do what they want with 1/10 the code the client has to download, if they really knew Javascript.
There ya go, my bias opinion, take it or leave it, but most likely the only honest answer your going to get here.

CMS martial arts membership management or own?

While I found quite some interesting suggestions on this site (the typical WP vs. Joomla) I just couldn't find an answer that could help me get started.
I know this is close to some of the other CMS questions but I'm missing specificities that need answering.
I'm looking for a CMS that can provide me with the following key functionalities, either through minimal programming or additional plugin installations. I'm stating this because it won't be just me, who can program, but also other trainers who are not technically inclined that will handle the site (in the future).
The functionalities I'm looking for:
Schedule management of training
Trainees of the club must check-in before or after the training to proof attendance, thus site must be mobile friendly. This is more proof-of-concept since not everyone has/wants a smartphone.
Each trainee has his own profile that logs said attendance
Possibility to provide feedback on training. For example: give a thumbs up on the last training, give a "yellow card" if the trainee misbehaved, two/three/four and you're prohibited from training ones/twice/thrice.
The attendance allows the trainee to become eligible for the next exam
Schedule management of said exam
Yearly subscription reminders for the trainees and if under-aged required parent information
Management of trainee profiles and subscriptions
Is the above possible through a CMS or is it too specific and will I need to program this myself? Either is fine by me but I'd first like to find out if a CMS can offer this.
I've decided to Go for a custom solution using ReactJS.
There are very good open-source solutions for the admin part and the open/client part is fairly simple so React is perfect for what I want to achieve. Additionally, it also challenges to think differently since I never worked with ReactJS before.
With ReactJS I have a lot of freedom in how I implement the above scenarios while at the same time have a lot of support available online in cause of issues.

Which server setup would be easiest to send a photo/text from an iOS app (swift) to a place where I can download/access them?

I'm using swift — and the app needs to send a photo and matching text (that a user submits) to a server so that I can download the photo/text.
Would an existing FTP server that I have setup for my website be possible for this application? Or would it make more sense to do something with a web portal?
During my research, I'm finding options like Backendless, Alamofire, Gold Racoon, and various others. They seem like overkill for the simple task I'm looking to accomplish. Is there some minimal service out there that can automate my simple need? If not, which of these options would you recommend for my situation?
Ideally the setup would be free, but I'd be willing to spend up to $100 or $10/month if the service fits.
I'm new to app development so I'm feeling overwhelmed with the options and not sure how to begin researching. I hope beginner questions aren't frowned upon here — I would really appreciate any advise on what I should begin learning to achieve my goal of sending a photo+text from an iOS app to a place where I can access them.
If there are other questions I should be asking to achieve this, please let me know.
For your case there are two main routes to consider
1. BYOS (Bring Your Own Server)
With this option, you are responsible for creating and maintenance of your own server.
Now you can use various services such as Digital Ocean and Amazon for this.
On top of this, you would be responsible for creating your own database and maintaining it as well. Plus, you would need to write server side code along with client side code (the app) in order to instantiate communication between the two.
The advantage of this is that you virtually have control of everything but I think it is pretty clear how painful this task is.
2: BAS (Backend As a Service) Highly recommended
With this route, you simply have to write the app and let another service handle the server side of things. One of the most common ones is Firebase. Most folks including startups go down this route.
There are a bunch of other services out there.
Two Cents:
Whatever option or service you decide to use, I would recommend you make sure that:
a. The service has a good track record.
You do not want something that might end up getting shutdown in the next couple months. I know it is hard to predict this but certain initial guesses/probabilities can be made.
b. Make sure its community is vibrant.
The last thing you as a newbie wants is to be stuck and have no one to help you. Research around and see the different questions people ask and whether or not answers exist.

Multiple domains one sign on (without logging in to each one)

I have been asked to oversee the development of a handful of sites. The people running the show want it so that if you sign onto one of the sites, then you are automatically signed onto the rest of them.
One of my buddies who is a great programmer says there is no safe way to do this, is he right?
I had an idea that the main site (parent site) could host the daughter sites as sub domains, with each site having its own unique domain name.
What do you think?
Yes, it can be done. However, it won't be a trivial solution but will be a very expensive project that requires an extensive set of skills. Companies typically try to achieve this by establishing internal solutions themselves but tend to fail as complexity increases.
What you are trying to accomplished can also be done as a service. You may want to take a look at the following webpage:
http://www.covisint.com/web/guest/about-identity-services
Hope that helps!

Intranet site Content Management

I'm currently designing my very first Website for a small business Intranet (5 pages). Can anyone recommend the best way to manage content for the Company News section? I don't really want to get involved in day to day content updates so something that would be simple for the Marketing guy to create and upload a simple news article, perhaps created in MS Word, lets assume the author has no html skills.
I've read about Content Management systems but,
A. I won't get any funding for purchase and
B. Think it's a bit overkill for a small 5 page internal website.
It's been an unexpected hurdle in my plans, for something that I'd assumed would be a fairly common functionality I can't seem to find any definitive articles to suit my needs.
I'm open to suggestions (even if it's confirmation that a CMS is the only way to go).
Your requirements are : small site, no budget and the need for it to be easy for the marketing guy to upload a news item.
My recommendation would be to go with an all in one CMS e.g wordpress which has the kind of functionality you're talking about out of the box.
My guess is this organisation is just getting into "intranets" so something quick and simple that can be used to justify expenditure if value is returned is the key. Perhaps look at a plugin that automatically emails a summary of the blog posts to all employees once a week would be useful ?
There are many options and you can use any one of these:
Joomla
SilverStripe CMS
ModX
Cushy CMS
Frog CMS
Drupal
Additional in what Mr. Mckinnon said, you must keep in mind that if you don't want to get involved in daily updates of the people who is going to use the platform, you should consider the following:
What kind of data you want to be displayed
Who can view/modify that data
Who can create/remove data
How you will be organizing all that data
Your intranet should not be limited to display or create data, eventually all that data can turn into a beautiful Knowledge Base (KB) for your company that eventually your coworkers can share their solutions to common and rare problems that company can present eventually. This KB is amazing and time-saving, it is recommended to start it as soon as possible, so newcomers to your Company have access to it and see the most common issues and they can enter into production asap (we all know time is a luxury in every company regarding size).
Just keep in mind too, that all that knowledge and data is beyond valuable to you and your coworkers, so you should also consider some additional login credentials so your Company System Administrator can manage those credentials and also eventual audit for unauthorized access (if applicable).
I hope this helps from the administrative point of view