Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/praveenscience/internship-lms-frontend

We are in the mission of solving 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.
https://github.com/praveenscience/internship-lms-frontend

bootstrap bootstrap-5 express expressjs mern mern-stack nodejs react reactjs

Last synced: 4 days ago
JSON representation

We are in the mission of solving 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.

Awesome Lists containing this project

README

        

# DevTernShip: Internship OnBoarding Platform

![DevTernShip Logo](https://i.imgur.com/vpbLTd9.png)
![Branding](https://user-images.githubusercontent.com/70408681/118407186-24e46280-b69d-11eb-8879-7af267e8147b.png)












[![DevTernShip Introduction](https://imgur.com/9gZXnnt.png)](https://rb.gy/cygmlf)

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:
* Adding a Star :star: to this Repository
* [Subscribing to my YouTube Channel](https://rb.gy/fupw21), if you please?

### 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](https://blog.praveen.science/my-experience-on-spotify-agile-methodology/).

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](https://blog.praveen.science/git-standards-followed-in-our-way-of-spotify-agile-methodolgy/) model.

### Video Links

- [Intro Video](https://rb.gy/cygmlf)
- [GSSoC 21 Series](https://rb.gy/o7lwj8)
- [BrainStorming Day 1: Project Plan](https://rb.gy/dfxjnd)
- [BrainStorming Day 2: Scrum Masters](https://rb.gy/zwxe6g)
- [React JS Introduction: Project & Env Setup & Tech Meeting](https://rb.gy/dxbpze)

### Resources

- [OpenSource Intro](https://rb.gy/dxnv5y)
- 30 Days of React
- [Event Landing Page](https://rb.gy/zsgyja)
- [PlayList of All Videos](https://rb.gy/cxk3ek)

## GSSoC ’21 Participation

![GSSoC Logo](https://i.imgur.com/BR9Q5Pd.png)

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](./Contributing.md) of this project.

### Code of Conduct

Please read the [Code of Conduct](./Code_of_Conduct.md) 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](https://img.shields.io/badge/html5%20-%23E34F26.svg?&style=for-the-badge&logo=html5&logoColor=white) ![CSS 3](https://img.shields.io/badge/css3%20-%231572B6.svg?&style=for-the-badge&logo=css3&logoColor=white) ![JavaScript](https://img.shields.io/badge/javascript%20-%23323330.svg?&style=for-the-badge&logo=javascript&logoColor=%23F7DF1E) ![React JS](https://img.shields.io/badge/react%20-%2320232a.svg?&style=for-the-badge&logo=react&logoColor=%2361DAFB) ![Node JS](https://img.shields.io/badge/node.js%20-%2343853D.svg?&style=for-the-badge&logo=node.js&logoColor=white) ![Express JS](https://img.shields.io/badge/express.js%20-%23404d59.svg?&style=for-the-badge) ![MySQL](https://img.shields.io/badge/mysql-%2300000f.svg?&style=for-the-badge&logo=mysql&logoColor=white) ![GitHub](https://img.shields.io/badge/github%20-%23121011.svg?&style=for-the-badge&logo=github&logoColor=white) ![Heroku](https://img.shields.io/badge/heroku%20-%23430098.svg?&style=for-the-badge&logo=heroku&logoColor=white)

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](https://github.com/praveenscience/Internship-LMS-FrontEnd) repository to your local system:
```bash
git clone https://@github.com//Internship-LMS-FrontEnd.git
```
**2.** Navigate to the project directory:
```bash
cd Internship-LMS-Frontend
```
**3.** Navigate to the `client` folder:
```bash
cd client
```
**4.** Install all the dependencies:
```bash
npm install
```

**Troubleshooting**

* If you get error while installing all the dependencies, check if Node JS is installed using your terminal:
```bash
node -v
```
or
```bash
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](https://nodejs.org/en/download/) and repeat previous step for installation.

Make sure you're downloading the **LTS** version.

**Running the Code**

**1.** Navigate to the project directory:
```bash
cd Internship-LMS-Frontend
```
**2.** Navigate to the `client` folder:
```bash
cd client
```
**3.** Start the application:
```bash
npm start
```

## Team

### Admin & Mentors

* Praveen Kumar Purushothaman ([Website](https://praveen.science/) ֍ [LinkedIn](https://www.linkedin.com/in/praveentech/) ֍ [YouTube](https://www.youtube.com/praveenscience?sub_confirmation=1))
* Shashwat Mishra ([LinkedIn](https://www.linkedin.com/in/the-shashwat-mishra/))
* Aditya Pahilwani ([LinkedIn](https://www.linkedin.com/in/aditya-pahilwani-93b42bb5/))
* Tejan Singh ([LinkedIn](https://www.linkedin.com/in/tejansingh/))
* Aadhitya A ([LinkedIn](https://www.linkedin.com/in/alphaX86))

### 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](https://contrib.rocks/image?repo=praveenscience/Internship-LMS-FrontEnd)](https://github.com/praveenscience/Internship-LMS-FrontEnd/graphs/contributors)