Giter Site home page Giter Site logo

collegeapi's Introduction

CollegeAPI

Ever faced a problem while collecting the data of Indian Colleges? Here we are with the solution, College API.
An API that helps you to fetch the data of Indian Colleges.⚡


           


Tech Stack 💻

Python FastAPI


What do we exactly do?

The ambition of this project is to provide data of Indian Colleges from all the categories listed in NIRF through different endpoints. We also enable the user to filter the college by the desired city and state.

Wants to contribute?👀

We recommend you to go through the CONTRIBUTING.md where we have mentioned all the guidelines that help you to set up the project and make some awesome contributions 😄


Endpoints

Method Path Description
GET / Gives a description of the API
GET /all Fetch the list of all participating collges ranked by NIRF
GET /all/nirf Fetch the list of overall colleges ranked by NIRF
GET /all/nirf/state={state} Fetch the list of colleges ranked by NIRF in the state(s) passed by the user as a parameter
GET /all/nirf/city={city} Fetch the list of colleges ranked by NIRF in the city(ies) passed by the user as a parameter
GET /engineering_colleges Fetch the list of all the engineering colleges in India.
GET /engineering_colleges/nirf Fetch the list of all the 300 engineering colleges ranked by NIRF. In this endpoint, the rank of the colleges will be provided along with the other details.
GET /engineering_colleges/state={state} Fetch the list of all the engineering colleges in the state passed by the user as a parameter.
GET /engineering_colleges/city={city} Fetch the list of all the engineering colleges in the city passed by the user as a parameter.
GET /medical_colleges Fetch the list of all the medical colleges in India.
GET /medical_colleges/nirf Fetch the list of all the medical colleges ranked by NIRF.
GET /medical_colleges/state={state} Fetch the list of all the medical colleges in the state passed by the user as a parameter.
GET /medical_colleges/city={city} Fetch the list of all the medical colleges in the city passed by the user as a parameter.
GET /management_colleges Fetch the list of all the management colleges in India.
GET /management_colleges/nirf Fetch the list of all the 300 management colleges ranked by NIRF. In this endpoint, the rank of the colleges will be provided along with the other details.
GET /management_colleges/state={state} Fetch the list of all the management colleges in the state passed by the user as a parameter.
GET /management_colleges/city={city} Fetch the list of all the management colleges in the city passed by the user as a parameter.
GET /colleges Fetch the list of all the colleges in India.
GET /colleges/nirf Fetch the list of all the colleges ranked by NIRF.
GET /colleges/state={state} Fetch the list of colleges in the state passed by the user as a parameter.
GET /colleges/city={city} Fetch the list of colleges in the city passed by the user as a parameter.
GET /pharmacy_colleges Fetch the list of all the pharmacy colleges.
GET /pharmacy_colleges/nirf Fetch the list of all the pharmacy colleges listed in NIRF.
GET /pharmacy_colleges/state={state} Fetch the list of pharmacy colleges in the state passed by the user as a parameter.
GET /pharmacy_colleges/city={city} Fetch the list of pharmacy colleges in the city passed by the user as a parameter.
GET /dental_colleges Fetch the list of all the dental colleges in India.
GET /dental_colleges/nirf Fetch the list of dental colleges listed in NIRF.
GET /dental_colleges/state={state} Fetch the list of all the dental colleges in the state passed by the user as a parameter.
GET /dental_colleges/city={city} Fetch the list of all the dental colleges in the city passed by the user as a parameter.
GET /law_colleges/nirf Fetch the list of law colleges listed in NIRF.
GET /architecture_colleges Fetch the list of all architecture colleges.
GET /architecture_colleges/nirf Fetch the list of architecture colleges listed in NIRF.
GET /architecture_colleges/state={state} Fetch the list of all the architecture colleges in the state passed by the user as a parameter.
GET /architecture_colleges/city={city} Fetch the list of all the architecture colleges in the city passed by the user as a parameter.
GET /research_colleges Fetch the list of all research colleges.
GET /research_colleges/nirf Fetch the list of research colleges listed in NIRF.
GET /research_colleges/state={state} Fetch the list of all the research colleges in the state passed by the user as a parameter.
GET /research_colleges/city={city} Fetch the list of all the research colleges in the city passed by the user as a parameter.
GET /universities Fetch the list of all the universities in India.
GET /universities/state={state} Fetch the list of all the universities in the state passed by the user as a parameter.
GET /universities/city={city} Fetch the list of all the universities in the city passed by the user as a parameter.

For pagination add page and limit as query params i.e. /all/?page=1&limit=10

Project maintainers

Nikhil Raj
Nikhil Raj

collegeapi's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

collegeapi's Issues

Endpoint to fetch the details of all the TamilNadu colleges ranked by NIRF

Description

  • This is the list of all the research colleges ranked by nirf.
  • Store the scrapped data in data folder in JSON format and the scrapper in the helpers folder.
  • Define the endpoint as /TamilNadu_colleges/nirf
  • The response should have the names of the colleges along with their rank.

Screenshots

No response

Additional information

No response

Endpoint to fetch list Universities.

Notes

  • This is the list of university data.
  • Scrape this data, store it in collegeAPI/data folder.
  • Define an endpoint to fetch the data, set the path as /universities
  • The response should have the names of the universities along with their city, state, and rank.

Add endpoint to filter colleges by city and state.

Description

  • Build endpoints inmain.py to filter colleges by city and state
  • This is the data we need to filter out.
  • Go through the other filter endpoint and build this one accordingly.

Screenshots

No response

Additional information

No response

Build endpoints to filter Pharmacy colleges by city and state.

Description

Notes

  • The data of all the pharmacy colleges is stored in the data folder.
  • Build two endpoints, one to filter data by city and the second to filter data by state.
  • One endpoint is pharmacy_colleges/state={states_name} and pharmacy_colleges/city={cities_name}

Screenshots

No response

Additional information

No response

Endpoint to fetch the details of all the participated architecture colleges.

I want to work on this :

  1. I would like to add the list of all the participated architecture colleges.
  2. Store the scrapped data in data folder in JSON format and the scrapper in the helpers folder.
  3. Define the endpoint as /architecture_colleges
  4. I will make sure that the response should have the names of the colleges along with their city, and state.

Endpoint to fetch the details of all the colleges listed in NIRF

Notes

  • This is the list of all the participating colleges.
  • Scrape this data and store the data in the collegeAPI/data folder in JSON format and the scraper file in the collegeAPI/helpers folder.
  • Define an endpoint to fetch the list of the colleges and set the path as /colleges.
  • The response must have the name of the colleges along with the name of cities and state.

Endpoint to fetch the list of colleges RANKED by NIRF.

Notes

  • This is the list of colleges ranked by NIRF.
  • Scrape the data, store it in the /data folder and upload the scrapper file too in the /helpers folders.
  • Define an endpoint to fetch the list and set the path as /colleges/nirf.
  • Please note that the rank is provided for the first 100 colleges only, you need to update the rank by yourself accordingly for the colleges in the rank band 101-200.

Deploy the end points

You can try deploying the endpoints so that people can see the results and test the API out. And you can add a limit of request/user. @nikhil25803

Endpoint to fetch the details of all TamilNadu colleges ranked by NIRF

Description

  • This is the list of all the research colleges ranked by nirf.
  • Store the scrapped data in data folder in JSON format and the scrapper in the helpers folder.
  • Define the endpoint as /TamilNadu_colleges/nirf
  • The response should have the names of the colleges along with their rank.

Screenshots

No response

Additional information

No response

Build enpoints filter Dental colleges by city and state.

What would you like to share?

Notes

  • Data of dental colleges is stored in the data folder.
  • Build two endpoints, that gives response as filtered data by the cities and states entered by the user.

Additional information

  • Set the path as /dental_colleges/city={} and /dental_colleges/state={}.
  • User must be able to pass multiple city and state in the URL.

Build an UI for this project.

Notes

  • Idea is to give this project a user interface on the root / path, as a landing page.
  • Create a templates folder and create all the UI-related files in that folder only.
  • The template folder must have an index.html file.
  • Before asking to get this issue assigned to you, please explain your idea in the comments below explaining the design(you may upload an image for reference) and the tech stack you are going to use.
  • Go through the contributing guidelines and make your contribution accordingly.

feat: Add pull request template and issue templates

Description

There are currently no issue templates and the pull request template. I would like to add these so that it'll help folks contributing to the project by giving a structured way to describe the problem.

Optimization needed and response need to return 1D list instead of 2D list

Description

Before

In the response I have checked that it was returning 2D response and main.py there were some lines in api which were repeated again function is needed.

After

Using extend keyword instead of append keyword inside the api like engineering_colleges/state={state} worked and it returned 1D array as it will be better for further processing and extraction .
can you have a closer look @nikhil25803 ?

Screenshots

Before

Screenshot (216)

After

Screenshot (217)

Also main.py LOC is reduced by adding function colleges_by_state_or_city and passing useful variables for further understanding

Additional information

No response

Endpoint to fetch the details of research colleges

  • This is the list of all the research colleges.
  • Store the scrapped data in data folder in JSON format and the scrapper in the helpers folder.
  • Define the endpoint as /research_colleges
  • The response should have the names of the colleges along with their rank, city, and state.

Some new endpoints

  • Filtering colleges from particular NIRF to another NIRF ( Let's say 10 to 20 colleges)
  • Ordering the state colleges by NIRF
  • Filtering colleges by multiple states
  • Filtering colleges by multiple cities.

Hey!! @nikhil25803 I want to work on some of the endpoints. Check the endpoints which are really useful and please assign to me.

Add endpoint to filter colleges by city and state.

Description

Notes

  • The data of all the colleges is stored in the data folder.
  • Use that data to filter colleges by city and state.
  • Define two endpoints colleges/city={city_name} to filter colleges by city and /colleges/state={states_name} to filter colleges by state.
  • User must be able to pass multiple cities and states.

Screenshots

No response

Additional information

No response

Build an endpoint to fetch all the NIRF ranked Dental college.

Notes

  • This is the list of all the dental colleges ranked by NIRF.
  • Store the scrapped data in data folder in JSON format and the scrapper in the helpers folder.
  • Define the endpoint as /dental_colleges/nirf
  • The response should have the names of the colleges along with their rank, city, and state.

Update Readme

Description

  • Update the endpoints in the README.md
  • Add Nikhil Raj as the maintainer in the readme, for reference, you may check this one.

Screenshots

No response

Additional information

No response

UPDATED "allAgriculture.json"

Description

I Had updated and add a college in " allAgriculture.json"
kindly merge it and mark it as "Hacktoberfest Accepted"

Screenshots

No response

Additional information

No response

Endpoint to fetch all the law colleges ranked by NIRF.

  • This is the list of all the law college ranked by NIRF.
  • Store the scrapped data in data folder in JSON format and the scrapper in the helpers folder.
  • Define the endpoint as /law_colleges/nirf
  • The response should have the names of the colleges along with their rank, city, and state.

Docs

Doc improvements :

  • Introduction to collage API
  • List endpoints
  • Contribution guidelines

Addition of College name

Description
Some colleges near by me were not added I have made some changes to it could you verify it .

  • Checked codebase
  • visited through various colleges Names
    link : #66 (comment)

Endpoint to fetch all the Architecture colleges ranked by NIRF.

I would like to work on this :

  1. I will fetch the list of all the Architecture college ranked by NIRF.
  2. Store the scrapped data in data folder in JSON format and the scrapper in the helpers folder.
  3. Define the endpoint as /architecture_colleges/nirf
  4. I will make the response such that it should have the names of the colleges along with their rank, city, and state.

Async and Await functionality

What would you like to share?

Description
Can we use async and await functionality in api so that may be error in response will be minimized doesn't matter it takes little extra time to resolve response by traversing through data .
@nikhil25803 can you suggest what is scope of this idea?

Additional information

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.