Skip to content

Opportunity Calendar is the one-stop place to refer important opportunities available in tech-space like newly posted jobs, internships, hackathons, tech-conferences, scholarships, etc.

License

Notifications You must be signed in to change notification settings

Girl-Code-It/Opportunity-Calendar-Backend

Repository files navigation

Opportunity Calendar

Issues PRs Forks Stars Visits Badge Build Status

Opportunity Calendar is the one-stop place to refer important opportunities available in tech-space like newly posted jobs, internships, hackathons, tech-conferences, scholarships etc.

The frontend of the same project can be found here

Table of Contents

  1. Install
  2. Introduction
  3. Technology Stack
  4. Documentation
  5. Bugs and Feature Requests
  6. Contributing
  7. Copyright and license

Install

Please use NPM for installing and managing dependencies. If you use Yarn, make sure to run prepare script after installing packages: yarn prepare. This will install git hooks using husky.

# clone the repository to your local machine
$ git clone https://github.com/<YOUR-GITHUB-USERNAME>/Opportunity-Calendar-Backend.git

# navigate to the project's directory
$ cd Opportunity-Calendar-Backend

# install all the relevant (dev) dependencies using npm
$ npm install

# Copy .env.example to .env
$ It is recommended to install [MongoDB Compass](https://www.mongodb.com/try/download/compass) to visualize data in mongodb

# Start application
$ npm run start:dev

# Visit http://localhost:3030/ in your browser

Introduction

Opportunity Calendar provides instant information on newly posted opportunuties for techies. There are times when applicants miss deadlines or get to know about available opportunties only after the deadline of their application passes. Updates about following opportunities are available:

  • Full Time Job Opportunties
  • Internship Opportunties
  • Scholarships
  • Tech-Conferences
  • Coding Competitions
  • Hackathons

Technology Stack

  • Server Enviornment - NodeJS
  • Framework - ExpressJS
  • Database - MongoDB
  • Cloud database service - MongoDB Atlas
  • API Documentation - JSDoc and Swagger

Guidelines for GSSOC Participants

We are glad to have your contributions to the project, Please make sure to read the following guidelines for the contributors.

Community

  • Join #opportunity-calendar-backend channel on Discord Server and feel free to ask any doubts regarding the project.
  • Mentors are happy to help if you get stuck while making a PR, all of them are available on Discord channel.
GitHub Usernames Domain
@abdus FullStack
@Surajbokde Frontend Development
@DeepanshiD Design
@vaishali614 Frontend Development
@Manvityagi FullStack

Rules

  • Only 1 issue will be assigned to a participant at a time on FCFS(first come first serve) basis.
  • Comment on a particular issue to get it assigned to you and start working on it after it is assigned to you.
  • If you are creating a new issue, then please also comment on it mentioning that You want to work on it.
  • If any issue is assigned to you, make sure you complete it before deadline.
  • Deadline for issues:
Issue Level Max. no. of days to submit a PR Points
Level 0 2 5
Level 1 2 10
Level 2 3 25
Level 3 5 45
  • If you fail to make a PR within the deadline, then the issue will be assigned to another person in the queue.

Documentation

Project Structure

We will structure our application using the controller, service, and, manager pattern so our app will be broken into the managers, services, and controllers. The Manager-Service-Controller pattern breaks up the business layer of the app into three distinct layers:

  1. The manager class handles getting data into and out of our data store. A manager is used between the service layer and the model layer. For example, in the opportunityManager you would create methods that write/read a opportunity to and from the database.
  2. The service class calls the manager class and can combine their data to form new, more complex business objects. It is an abstraction between the controller and the manager.
  3. A controller contains very little logic and is used to make calls to services.

Bugs and Feature Request

Have a bug or a feature request? Please first read the issue guidelines and search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.

Contribution

We want contributing to Opportunity Calendar to be enjoyable and educational for everyone. We would love to have your contributions. To get started have a look at our documentation on contributing.

Contributors

License

Code released under the MIT License.

About

Opportunity Calendar is the one-stop place to refer important opportunities available in tech-space like newly posted jobs, internships, hackathons, tech-conferences, scholarships, etc.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published