Skip to content

wwesleym/191for191

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

191 for 191

Overview

191 for 191 is the platform to share and discover past, present, and future UCI capstones projects. This space will focus on showcasing projects, following more of a standard UCI website interface.

Authors:

Group 191 for 191

Endpoints

Insert Project

Inserts a project into the database

Path

POST /projects/insert

API

πŸ“₯ Request
Model Example
name: String
teamSize: Integer
sponsorName: String
description: String
video: String
image: String
state: String
courseDepartment: String
courseNumber: String
year: Integer
term: String
{
    "name": "191 for 191",
    "teamSize": 5,
    "sponsorName": "Matthew Bietz",
    "description": "A website to share and discover past, present, and future UCI capstones projects.",
    "video": "https://www.youtube.com/...",
    "image": "http://...",
    "state": "in progress",
    "courseId": 36050,
    "year": 2022,
    "term": "spring"
}
πŸ“€ Response
Model Example
result: Result
code: Integer
message: String
project: Project
id: Long
name: String
teamSize: Integer
sponsorName: String
description: String
video: String
image: String
state: ProjectState
courseId: Integer
year: Integer
term: CourseTerm
{
"result": {
"code": 2060,
"message": "Project registered successfully"
},
"project": {
"id": 1,
"name": "191 for 191",
"teamSize": 5,
"sponsorName": "Matthew Bietz",
"description": "A website to share and discover past, present, and future UCI capstones projects.",
"video": "https://www.youtube.com/...",
"image": "http://...",
"state": "IN_PROGRESS",
"courseId": 36050,
"year": 2022,
"term": "SPRING"
}
}
πŸ“¦ Results
Status Code Message
βœ… 200: OK 2060 Project registered successfully
❗ 401: Unauthorized 2004 Course not found
❗ 409: Conflict 2061 Project with this name already exists

Projects Search

Returns a list of projects with basic information that match the given search parameters.

Path

GET /projects/search/

API

πŸ“ Query
Name Type Description
name String The project's name (Search by substring)
teamSize Integer Number of people who worked on the project
sponsor String The project sponsor's name (Search by substring)
year Integer The year the project began
term String The quarter the project began
courseDepartment String The department of the course the project was started in
courseNumber String The course number of the course the project was started in
limit Integer Number of projects to list at one time: 10 (default), 25, 50, or 100
page Integer The page for pagination: 1 (default), or any positive number over 0
orderBy String Sorting parameter: name (default) or teamSize or year
direction String Sorting direction: asc (default) or desc
πŸ“€ Response
Model Example
result: Result
    code: Integer
    message: String
projects: Project[]
    id: Long
    name: String
    teamSize: Integer
    sponsorName: String
    description: String
    video: String
    image: String
    state: ProjectState
    courseId: Integer
    year: Integer
    term: CourseTerm
{
    "result": {
        "code": 2020,
        "message": "Movies with the given search parameters found"
    },
    "projects": [
        {
            "id": 1,
            "name": "191 for 191",
            "teamSize": 5,
            "sponsorName": "Matthew Bietz",
            "description": "A website to share and discover past, present, and future UCI capstones projects.",
            "video": "https://www.youtube.com/...",
            "image": "http://...",
            "state": "IN_PROGRESS",
            "courseId": 36050,
            "year": 2022,
            "term": "SPRING"
        },
        {
            "id": 2,
            "name": "Test Project 2",
            "teamSize": 6,
            "sponsorName": "Matthew Bietz",
            "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
            "video": "https://www.youtube.com/...",
            "image": "http://...",
            "state": "COMPLETED",
            "courseId": 36050,
            "year": 2017,
            "term": "WINTER"
        }
    ]
}
πŸ“¦ Results
Status Code Message
βœ… 200: OK 2020 Movies with the given search parameters found
❗ 401: Unauthorized 2021 No movies found with the given search parameters
❗ 400: Bad Request 2000 Invalid 'orderBy' value given
❗ 400: Bad Request 2001 Invalid 'direction' value given
❗ 400: Bad Request 2002 Invalid 'limit' value given
❗ 400: Bad Request 2003 Invalid 'offset' value given
❗ 401: Unauthorized 2004 Course not found

Project Search By Name

Returns a movie with detailed information that contains the given name.

Path

GET /projects/search/name

API

πŸ“₯ Request
Model Example
name: String
{
    "name": "191 for 191"
}
πŸ“€ Response
Model Example
result: Result
    code: Integer
    message: String
project: Project
    id: Long
    name: String
    teamSize: Integer
    sponsorName: String
    description: String
    video: String
    image: String
    state: ProjectState
    courseId: Integer
    year: Integer
    term: CourseTerm
{
    "result": {
        "code": 2020,
        "message": "Movies with the given search parameters found"
    },
    "project": {
        "id": 1,
        "name": "191 for 191",
        "teamSize": 5,
        "sponsorName": "Matthew Bietz",
        "description": "A website to share and discover past, present, and future UCI capstones projects.",
        "video": "https://www.youtube.com/...",
        "image": "http://...",
        "state": "IN_PROGRESS",
        "courseId": 36050,
        "year": 2022,
        "term": "SPRING"
    }
}
πŸ“¦ Results
Status Code Message
βœ… 200: OK 2020 Movies with the given search parameters found
❗ 401: Unauthorized 2021 No movies found with the given search parameters

Project Search By Id

Returns a movie with detailed information that contains the given id.

Path

GET /projects/search/id

API

πŸ“₯ Request
Model Example
id: Long
{
    "id": 1
}
πŸ“€ Response
Model Example
result: Result
    code: Integer
    message: String
project: Project
    id: Long
    name: String
    teamSize: Integer
    sponsorName: String
    description: String
    video: String
    image: String
    state: ProjectState
    courseId: Integer
    year: Integer
    term: String
{
    "result": {
        "code": 2010,
        "message": "Movie found with the specified ID"
    },
    "project": {
        "id": 1,
        "name": "191 for 191",
        "teamSize": 5,
        "sponsorName": "Matthew Bietz",
        "description": "A website to share and discover past, present, and future UCI capstones projects.",
        "video": "https://www.youtube.com/...",
        "image": "http://...",
        "state": "IN_PROGRESS",
        "courseId": 36050,
        "year": 2022,
        "term": "SPRING"
    }
}
πŸ“¦ Results
Status Code Message
βœ… 200: OK 2010 Movie found with the specified ID
❗ 401: Unauthorized 2011 No Movie found for the specified ID

Sponsor Search By Name

Returns a sponsor with basic information that contains the given name.

Path

GET /sponsor/search/name

API

πŸ“₯ Request
Model Example
name: String
{
    "name": "Matt"
}
πŸ“€ Response
Model Example
result: Result
    code: Integer
    message: String
sponsor: Sponsor
    id: Long
    name: String
    website: String
{
    "result": {
        "code": 2050,
        "message": "Persons with the given search parameters found"
    },
    "sponsor": {
        "id": 1,
        "name": "Matthew Bietz",
        "website": "https://www..."
    }
}
πŸ“¦ Results
Status Code Message
βœ… 200: OK 2050 Persons with the given search parameters found
❗ 401: Unauthorized 2051 No Persons found with the given search parameters

Sponsor Search By Id

Returns a sponsor with basic information that contains the given id.

Path

GET /sponsor/search/id

API

πŸ“₯ Request
Model Example
id: Long
{
    "id": 1
}
πŸ“€ Response
Model Example
result: Result
    code: Integer
    message: String
sponsor: Sponsor
    id: Long
    name: String
    website: String
{
    "result": {
        "code": 2040,
        "message": "Person found with the specified ID"
    },
    "sponsor": {
        "id": 1,
        "name": "Matthew Bietz",
        "website": "https://www..."
    }
}
πŸ“¦ Results
Status Code Message
βœ… 200: OK 2040 Person found with the specified ID
❗ 401: Unauthorized 2041 No Person found for the specified ID

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published