Skip to content

benwu6/studywithme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Study With Me

Find and connect with classmates!

Search View Controller:

SearchVC

My Courses View Controller:

MyCoursesVC

Profile View Controller:

ProfileVC

A View of Students in a Course:

StudentsInCourseVC

This app is intended to allow users to connect with classmates in order to form study groups and/or friends. You can search for courses, add courses to your list, delete courses from your list, view classmates' profiles, and notify them.

Names: Ben Wu (bnw36), Ethan Mah (ecm237), Aaron Kang (uk44), Alexia Adams (aa862), Prachi Kelkar (pak226)

Frontend: This meets the requirements:

  • Many components of the app are positioned using NSLayoutConstraint
  • There is at least one UICollectionView. For example, the courses are displayed in a UICollectionView
  • There is a UITabBarController that allows for navigation between view controllers.
  • The app is set up to be integrated with an API

Backend: This meets the requirements for the backend:

  • There are API specifications for all routes as shown below
  • We have 10 fully functional routes that include Get, Post, and Delete methods
  • We have used two databases, one for courses, and one for students and have a relation in between them
  • We have utilized Docker and Heroku and the server address is shown below

Server Address: https://hack-challenge-study-with-me.herokuapp.com/ Endpoints:

@app.route("/api/courses/", methods=["GET"]) -> returns a list of all courses. each course has id, course code, course name, department, professor, prerequisites, assignments, students

@app.route("/api/courses/", methods=["POST"]) -> creates a new course with course code, course name, department, professor, prerequisites. if no input for prerequisites, it is set to "None"

@app.route("/api/courses/int:course_id/") -> returns given information about a specified course (course_id is the actual id and not to be confused with course code)

@app.route("/api/courses/int:course_id/", methods=["DELETE"]) -> deletes a specified course with id "course_id"

@app.route("/api/users/", methods=["GET"]) -> returns a list of all users. each user has id, name, netid, email, major, graduation year and courses they're in

@app.route("/api/users/", methods=["POST"]) -> creates a new course with name, netid, email, major, and graduation year

@app.route("/api/users/int:user_id/") -> returns given information about a specified user with id "user_id"

@app.route("/api/courses/int:course_id/add/", methods=["POST"]) -> adds a specified user to a specified course with id "course_id"

@app.route("/api/courses/int:course_id/assignment/", methods=["POST"]) -> creates an assignment with title and due date, and adds it to specified course

@app.route("/api/courses/int:course_id/delete/", methods=["DELETE"]) -> removes a specified user from a specified course

Note: the app is somewhat incomplete.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages