Skip to content

Latest commit

 

History

History
300 lines (211 loc) · 15.9 KB

ReadMe.md

File metadata and controls

300 lines (211 loc) · 15.9 KB

DevTernShip: Internship OnBoarding Platform

DevTernShip Logo Branding

DevTernShip Introduction

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.

Introduction

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.

Agenda

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.

Easy OnBoarding

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.

Bridging the Gap

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.

Couple of Favours

If you're interested, why not start with:

Motivation

  • 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.

Methodology

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.

Video Links

Resources

GSSoC ’21 Participation

GSSoC Logo

Yes, we’re a part of GSSoC ’21. Look out for the Live Streams to get your issue assigned. We’re different. 😅

Want to Contribute?

Please read the Contribution Guidelines of this project.

Code of Conduct

Please read the Code of Conduct of this project.

Levels & Points

Level Points
Level 0 5
Level 1 10
Level 2 25
Level 3 45

Product Information

Screenshots

Tech Stack

HTML 5 CSS 3 JavaScript React JS Node JS Express JS MySQL GitHub Heroku

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.

Installation & Running

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

Team

Admin & Mentors

Scrum Masters

  • Gaurav Maheshwari
  • Varshith Chennuru
  • Ashutosh Kumar
  • Deepak Tiwari
  • Harsh Choubey
  • Priyanshi Chaturvedi
  • Deeksha Tiwari
  • Saloni Sawarkar
  • Gaurav Prajapati
  • Salma Shaik
  • Prachi Mane

FAQs

General FAQs

What is an Open Source Project?

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.

Why is the master / main branch so important to not mess with?

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.

About GSSOC

What is GSSOC?

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.

Where to ask for help?

  • 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.

About DevTernShip

How to contribute to this project?

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.

What is this project about?

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.

How should I start?

As it's an Agile Methodology, we're hosting weekly Live Streams and assigning the issues during that. Please don't miss them.

Can I work on an already opened issue?

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).

Contributors List

Contributors List