Created by the developers, for the developers and the enterprises, DevTernShip aims to automate a process that is usually beset by difficulties; The recruitment phase is riddled with disorientation and this makes it difficult for the onboarding interns to make heads or tails of the system.
Here's where DevTernShip jumps into the picture - An Internship Onboarding platform with an innovative learning management system and intuitive performance tools, we ensure that all is 'smooth sailing' when it comes to the talent pipeline. Moreover, Augmented efficiency is brought about with a simple and robust UI, thus rendering the experience even more dynamic.
The plight of small and medium companies has gravely wounded the world with serious consequences impacting all the onboard new interns, developers, full-time roles, and individuals during their recruitment phase. To solve these issues and to show a brilliant path to all the individuals listed we proudly present DevTernShip, a platform for Internship OnBoarding, Projects Management, Learning, Recruiting, and many more... for students, interns, developers, who are looking actively for Internship and full-time roles at the moment.
We are on the mission of resolving a crisis for a lot of small and medium enterprises, who are trying to recruit interns for their projects. This platform aims to onboard new interns, who have applied to the companies and help them understand the process and make the transition smooth. This platform is the best gateway to show recruiters, what interns are capable of.
In this program, we are going to have a setup for every individual intern by providing their account section, i.e., Profile, likely and show others that you are ready to work on a particular stack by joining their company as an Intern. To guide you better, we are also planning to introduce Learning pages, Application Tracking Systems, Opportunity Tracker, and Live Interactive Sections on YouTube by our well-qualified mentors to keep you updated.
This program helps the intern, interact with the Recruiters & Managers, effectively by providing social media handles. Also, the interns get a chance to exhibit their work by sharing their GitHub, LinkedIn profiles with their recruiters.
If you're interested, why not start with:
- Adding a Star ⭐ to this Repository
- Subscribing to my YouTube Channel, if you please?
- Automate the process which needs to be done regularly.
- Make the task easy and stress-free for the employers.
- Save the time of people in doing the same work multiple times.
We are following Spotify Agile Methodology to give the contributors an idea of efficient software development methods and how work is coordinated in the industry. If you don't know what that means, please refer to this blog.
Following are some points on the methodology to be used:
- To get the best out of everyone contributing to this project, we have adopted high alignment and high autonomy model.
- The issues created will have a description of the problem to be solved, the contributors have to figure out how they would like to solve it and what tool they would like to use.
- Everything needs to be communicated to the scrum masters / project admin on what they think about a particular issue and its possible solution.
- We will have a sprint of one "variable days" week, based on the level of difficulty of the issue with regular sprint planning sessions and daily stand-ups to track each contributor’s progress.
- In these sessions, the scrum masters will take note of the progress and blockers if any. If the contributor faces any issues / blocks, the others will help them solve them and resume their work. Hence, the blocks can be addressed timely.
- It would be a good idea to check out the Git Standards followed in our way of Spotify Agile Methodology model.
- Intro Video
- GSSoC 21 Series
- BrainStorming Day 1: Project Plan
- BrainStorming Day 2: Scrum Masters
- React JS Introduction: Project & Env Setup & Tech Meeting
- OpenSource Intro
- 30 Days of React
Yes, we’re a part of GSSoC ’21. Look out for the Live Streams to get your issue assigned. We’re different. 😅
Please read the Contribution Guidelines of this project.
Please read the Code of Conduct of this project.
Level | Points |
---|---|
Level 0 | 5 |
Level 1 | 10 |
Level 2 | 25 |
Level 3 | 45 |
We are primarily considering JavaScript (sorry, not TypeScript) as the base language. We are using MERN Stack for this, where the tech stack consists of:
Front End
- HTML & CSS (using SCSS)
- Bootstrap 4 & Responsiveness
- JavaScript & ES6
- ReactJS & Node JS (lil bit for runtime)
Back End
- Node JS + Express JS
- Morgan + CORS & Node Mon
- PostgreSQL/MySQL
Deployment
- Husky
- Netlify / Heroku
- Github Actions
Important Note:
The typical MERN Stack involves MongoDB + ExpressJS + ReactJS + NodeJS. But, if you consider our product, it really needs a hierarchical database management system and not a document oriented one. MongoDB doesn't perform well under a lot of situations, so we're planning to use MySQL (or MariaDB) or PostgreSQL (We have already mentioned that it's yet to be decided between these two). I hope this note helps people understand why we are not using MongoDB in MERN Stack.
System Requirements
For Server Side Setup / Development Environment:
- Google Chrome: Add 'React Developer Tools' from chrome extensions. It allows to inspect the React component hierarchies in the Chrome Developer Tools.
- Git: Our project uses Git as a version control system.
- NodeJS: This allows to run JavaScript on a computer/server. It allows us to create, read, update, and delete files on the server side.
- Visual Studio Code: This is the text-editor for our project as we are using React, it provides right extensions to support our React JS development. Add these extensions for ReactJS development -
- ES7 React/Redux/GraphQL/React-Native snippets
- GitLens - Git supercharged
- Git History
- ESLint
- Prettier - Code formatter
- PostMan: This software used as a REST Client to create and execute queries.
For running on the Client Side:
- A modern browser that supports localStorage & Single Page Applications:
- Google Chrome
- Mozilla Firefox
- Microsoft Edge (Blink Engine)
- As this project doesn't use polyfills, legacy browsers aren't supported.
Installation and Setup
1. Clone this repository to your local system:
git clone https://<your_user_name>@github.com/<your_user_name>/Internship-LMS-FrontEnd.git
2. Navigate to the project directory:
cd Internship-LMS-Frontend
3. Navigate to the client
folder:
cd client
4. Install all the dependencies:
npm install
Troubleshooting
- If you get error while installing all the dependencies, check if Node JS is installed using your terminal:
node -v
or
npm -v
- If it prints a version number, then Node is successfully installed.
- If the above command gives error, then Node is not installed.
Please download and install Node JS from the official website and repeat previous step for installation.
Make sure you're downloading the LTS version.
Running the Code
1. Navigate to the project directory:
cd Internship-LMS-Frontend
2. Navigate to the client
folder:
cd client
3. Start the application:
npm start
- Praveen Kumar Purushothaman (Website ֍ LinkedIn ֍ YouTube)
- Shashwat Mishra (LinkedIn)
- Aditya Pahilwani (LinkedIn)
- Tejan Singh (LinkedIn)
- Aadhitya A (LinkedIn)
- Gaurav Maheshwari
- Varshith Chennuru
- Ashutosh Kumar
- Deepak Tiwari
- Harsh Choubey
- Priyanshi Chaturvedi
- Deeksha Tiwari
- Saloni Sawarkar
- Gaurav Prajapati
- Salma Shaik
- Prachi Mane
Open Source Project denotes the project's source code is free for anyone to use, study and modify. An Open Source community provides a great opportunity for aspiring programmers to distinguish themselves; and by contributing to various projects, developers can improve their skills and get inspiration and support from like-minded people. But most importantly, they can prove that they can build fantastic experiences that people love.
The master
/ main
branch is deployable. It is your production code, ready to roll out into the world. The master
/ main
branch is meant to be stable, and it is the social contract of open source software to never, ever push anything to master
/ main
that is not tested. If you make changes to the master
/ main
branch while other people are also working on it, your on-the-fly changes will ripple out to affect everyone else, and very quickly there will be merge conflicts. So, branching is a technique that allows a developer, group of developers to create a new copy of a project without affecting the original, which is the master
/ main
branch. This allows developers to experiment with a branch and if the experiment is successful, Git makes it easy to incorporate the experimental elements into the master
/ main
.
GirlScript Summer of Code is the 3 months long Open Source program during every summer conducted by GirlScript Foundation, started in 2018, intending to help beginners get started with Open Source Development while encouraging diversity. Throughout the program, participants contribute to different projects under the guidance of experienced mentors. Top participants get exciting goodies and opportunities.
- You can message on the respective channel of a project or directly message the owner or mentors of the repository on Discord or LinkedIn.
- You can email the mentors or the admin.
You have to work on an existing issue or can create a new issue and get yourself assigned. Before creating an issue, please talk to the Project Admin or one of the mentors.
This project aims to solve a problem for many small and medium businesses who are looking to find interns for their projects. This platform is designed to help new interns who have applied to companies understand the process and make the transition as seamless as possible. This forum is the perfect way for interns to demonstrate their abilities to recruiters.
As it's an Agile Methodology, we're hosting weekly Live Streams and assigning the issues during that. Please don't miss them.
You can always ask in the comments section of the opened issue to get yourself assigned but the owner may or may not assign you that issue. However, the owner may suggest to work on a fresh issue (either by creating a new issue or requesting you to create a new issue).