What is common in Linux, VLC player, and MongoDB? Yes, they are all popular open-source softwares. Their source codes are open for anyone to use and make changes. It is the contributions from people which make these projects robust and their adopters make them popular.
However, managing an open-source project is a difficult task. It requires a lot of technical skills in terms of writing code, fixing issues, managing documentation, writing test cases, deployment, automation, CI/CD, and providing support. Then comes the product promotion starting with writing blogs, managing social media, and optimizing for SEO. All these can be very draining and an individual cannot do all these alone.
That's where we come in. Techpro.club is an open-source platform for project owners to find the right team to build and manage their projects, however small or big they may be. At the same time, posting a project on our platform reaches out to a vast network of contributors, saving them a lot of effort and money in promotion.
If you are an open-source project owner, you can take advantage of our extensive network of contributors to post your project details. We will ensure that your contribution request reaches out to the best contributors, matching your project criteria. If a matching contributor finds your project interesting, he/she can directly go to your project repository and start working. Visit https://techpro.club and register yourself
Benefits for Project owners
- Find a great team to build and manage your project.
- Promote your project amongst a vast network of our contributors without the hassle to promote elsewhere.
- Save a lot of money.
Benefits for contributors
- Opportunity to work on amazing projects.
- Enhance your skills and developer portfolio by contributing to projects.
- Opportunity to earn from paid projects or get hired.
We are currently in the beta stage and currently accepting projects and contributors. Here is the list of features and our roadmap for the future.
- [x] v 0.1
- [x] User Authentication
- [x] Contributor preferences
- [x] Projects Create, Read, Update
- [x] Registration welcome email
- [x] Master templates
- [ ] v 0.2
- [ ] Profile management - avatar, delete account, etc.
- [ ] Project feeds
- [ ] Feed filters
- [ ] v 0.3
- [ ] Notification for contributors
- [ ] Notification for projects
- [ ] v 0.4
- [ ] Project invite members
- [ ] Project manage members
- [ ] Share on social media
- [ ] v 0.5
- [ ] Project analytics
- [ ] v 0.6
- [ ] Badges
- [ ] v 0.7
- [ ] Integration with Gitlab
- [ ] v 0.8
- [ ] Integration with Bitbucket
- [ ] v 0.9
- [ ] Integration with Azure
More to follow once these are achieved.
- Linode - The code is hosted on Linode Ubuntu server along with MongoDB database on the same instance
Install Mongodb and set the credentials in
.env file described here
Github project is needed to authenticate users. You may do so by visiting https://github.com/settings/apps. Note the Client ID and Client secret. Also, set two Callback URLs for project and contributor authentication.
Note - Create a
Github App and not an
OAuth App because the latter doesn't permit multiple callback URLs.
Running and Deployment
- Clone the repo
git clone https://github.com/ClubTechPro/techpro.club.git
Set Environment variables Rename the
src/.envand replace it with actual credentials obtained from the steps mentioned in Prerequisites.
Install Golang dependencies
cd /path/to/project go mod tidy
- Run the project
Open a browser and hit
go run main.go
We want to make it easy for project owners to find a contributing team and easily promote their ideas. In the meantime, we are constantly building and similarly looking for contributors to help our community grow. If you want to contribute to us, visit our Github repository mentioned below.