Approximation Algorithms for School Assignment: Group Fairness and Multi-criteria Optimization | Synapse