Skip to content

abilops/meridian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Meridian Meridian is created to solve the problem of allocating low-supply things that have a high demand. Being open souce, it gaurantees fairness and has transparent logic that everyone can verify. Applications include (but are not limited to):

  • Students applying for college. Merit based on marks

Proposed design for the working of Meridian:

  • Independent CSV files contain specific data.
  • One file for the demands, their seats and id
  • Another for the applicants, their deservibility and id

It will load the applicants, then sort it and save the sorted file in .tempsorted. After unloading the students from memory, it will load all colleges into memory. Then it will read the .tempsorted file line-by-line and assign each student a college. Since this file is already sorted, the first priority goes to the person with the highest deservability. It will write the results to the results file after each of this iteration, in case meridian crashes mid-way.

Right now, the code works just as a proof of concept. Things that I am working on right now: (TODOs are added to the code where necessary)

  • Functions for file-opening, and file-reading (CSV)

  • Hash tables for storing colleges in memory, so that I don't need to iterate over all the colleges, searching for the one matching the id.

  • Add error capturing for unknown IDs, no memory (IMPORTANT for every malloc since this is supposed to handle very very very very large files)

    Meridian will be designed not to make changes to the input files at all. It will be as lightweight as possible

About

Merit-based seat allocation to students

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors