imported repo from gitlab (gitlab.com/caffeine-anonymous/coffee-tavern.git)
This application is a linkedin but for the people in the service industry. Linkedin is a site primarily for people in the tech industry. But where is Linkedin for service employees and employers? Our application's name is Coffee-Tavern, we are the answer to helping that barista or bartender find a quick job when the hours have been cut due to seasonal changes. Or for that store manager at a flower shop who is in need of a sales clerk, because its Valentine's day and will have no time training a new clerk. The communication is made via a employer making an account and creating a job post form. The employee will be able to look at that post through a board of jobs and send their information to the employer for an offer.
Person 1 - Hideaki Hama Person 2 - Curtis Cheung Person 3 - Lexey Olsen Person 4 - Christopher Shih
- React
- Javascript
- Fast API
- PostgreSQL
- Python
- Docker
test_get_all_accounts.py -> Curtis Cheung test_get_account_by_id.py -> Lexey Olsen test_get_all_employee_feedbacks.py -> Christopher Shih test_get_all_employer_feedbacks.py -> Hideaki Hama
Run these commands in terminal to set up the application
#This will create the database in your docker
$ docker volume create coffee_tavern-data
$ docker volume create tagsapi-data
#This will build and compose up the images and containers for your docker at the same time
$ docker compose up --build
# ***(Mac User Only)***
# Will do everything Thanos the project***(Mac User Only)***
$ bash thanos.sh
Api Endpoints
Job Form
Method | URL |
---|---|
POST | /create_form/ |
GET | /get_all_form |
GET | /get_all_form/{form_id} |
PUT | /update_job_form/{id} |
DELETE | /delete_job_form/{id} |
POST in/out
input:
{
"employer": "string",
"position": "string",
"location": "string",
"from_date": "2022-12-12",
"to_date": "2022-12-12",
"tag": "string",
"description": "string"
}
output:
{
"employer": "string",
"position": "string",
"location": "string",
"from_date": "2022-12-12",
"to_date": "2022-12-12",
"tag": "string",
"description": "string"
}
GET ALL out
output:
[
{
"id": 0,
"employer": "string",
"position": "string",
"location": "string",
"tag": "string",
"description": "string",
"account_id": 0
}
]
GET BY ID in/out
inuput:
The id of the form you want to get
output:
{
"id": 0,
"employer": "string",
"position": "string",
"location": "string",
"from_date": "2022-12-12",
"to_date": "2022-12-12",
"tag": "string",
"description": "string",
"account_id": 0
}
PUT in/out
input:
The id of the form you want to edit
&
{
"employer": "string",
"position": "string",
"location": "string",
"from_date": "2022-12-12",
"to_date": "2022-12-12",
"tag": "string",
"description": "string"
}
output:
{
"employer": "string",
"position": "string",
"location": "string",
"from_date": "2022-12-12",
"to_date": "2022-12-12",
"tag": "string",
"description": "string"
}
DELETE in/out
input:
The id of the form you want to delete
output:
true or false
Apply
Method | URL |
---|---|
POST | /apply/{employer_id} |
GET | /get_applicants |
DELETE | /delete_application/{id} |
POST in/out
input:
The id of the employer you want to send your application to
output:
{
"id": 0,
"full_name": "string",
"education": "string",
"employer_id": 0,
"account_id": {
"id": 0,
"user_name": "string",
"email": "string",
"hashed_password": "string",
"role": "string"
}
}
GET out
output:
[
{
"id": 0,
"full_name": "string",
"education": "string",
"employer_id": 0,
"account_id": {
"id": 0,
"user_name": "string",
"email": "string",
"hashed_password": "string",
"role": "string"
}
}
]
DELETE in/out
input:
The id of the application you want to delete
output:
true or false
Employer Feedback Form
Method | URL |
---|---|
POST | /employer-feedback-form/{account_id} |
GET | /employer-feedback-form/{EmployerFeedback_id} |
PUT | /employer-feedback-form/{EmployerFeedback_id} |
DELETE | /employer-feedback-form/{EmployerFeedback_id} |
GET | /employer-feedbacks/{account_id} |
GET | /get_all_employerFeedbacks |
POST in/out
input:
{
"employee_name": "string",
"date": "2022-12-12",
"description": "string"
}
output:
{
"id": 0,
"employee_name": "string",
"date": "2022-12-12",
"description": "string",
"account_id": {
"id": 0,
"user_name": "string",
"email": "string",
"hashed_password": "string",
"role": "string"
}
}
GET one employer feedback form in/out
input:
The id of the form you want to get
output:
{
"id": 0,
"employee_name": "string",
"date": "2022-12-12",
"description": "string",
"account_id": {
"id": 0,
"user_name": "string",
"email": "string",
"hashed_password": "string",
"role": "string"
}
}
PUT in/out
input:
The id of the feedback you want to edit
&
{
"employee_name": "string",
"date": "2022-12-12",
"description": "string"
}
output:
{
"id": 0,
"employee_name": "string",
"date": "2022-12-12",
"description": "string",
"account_id": 0
}
DELETE in/out
input:
The id of the feeback you want to delete
output:
true or false
GET all feebacks for employee by id in/out
input:
The id of the employee you want to get all the feebacks for
output:
[
{
"id": 0,
"employee_name": "string",
"date": "2022-12-12",
"description": "string",
"account_id": 0
}
]
GET all out
output:
[
{
"id": 0,
"employee_name": "string",
"date": "2022-12-12",
"description": "string",
"account_id": 0
}
]
Employee Feedback Form
Method | URL |
---|---|
POST | /employee-feedback-form/{account_id} |
GET | /employee-feedback-form/{EmployeeFeedback_id} |
PUT | /employee-feedback-form/{EmployeeFeedback_id} |
DELETE | /employee-feedback-form/{EmployeeFeedback_id} |
GET | /employee-feedbacks/{account_id} |
GET | /get_all_employeeFeedbacks |
POST in/out
input:
{
"employer_name": "string",
"date": "2022-12-12",
"description": "string"
}
output:
{
"id": 0,
"employer_name": "string",
"date": "2022-12-12",
"description": "string",
"account_id": {
"id": 0,
"user_name": "string",
"email": "string",
"hashed_password": "string",
"role": "string"
}
}
GET one employee feedback form in/out
input:
The id of the form you want to get
output:
{
"id": 0,
"employer_name": "string",
"date": "2022-12-12",
"description": "string",
"account_id": {
"id": 0,
"user_name": "string",
"email": "string",
"hashed_password": "string",
"role": "string"
}
}
PUT in/out
input:
The id of the feedback you want to edit
&
{
"employer_name": "string",
"date": "2022-12-12",
"description": "string"
}
output:
[
{
"id": 0,
"employee_name": "string",
"date": "2022-12-12",
"description": "string",
"account_id": 0
}
]
DELETE in/out
input:
The id of the feeback you want to delete
output:
true or false
GET all feebacks for employer by id in/out
input:
The id of the employer you want to get all the feebacks for
output:
[
{
"id": 0,
"employer_name": "string",
"date": "2022-12-12",
"description": "string",
"account_id": 0
}
]
GET all out
output:
[
{
"id": 0,
"employer_name": "string",
"date": "2022-12-12",
"description": "string",
"account_id": 0
}
]
User Info
Method | URL |
---|---|
POST | /users/{account_id}/create_employee_info |
GET | /users/{account_id}/get_employee_info |
PUT | /users/{account_id}/update_employee_info |
GET | /get_all_employee_profile |
POST | /users/{account_id}/create_employer_info |
GET | /users/{account_id}/get_employer_info |
PUT | /users/{account_id}/update_employer_info |
GET | /get_all_employer_profile |
POST in/out
input:
{
"full_name": "string",
"career_title": "string",
"location": "string",
"education": "string",
"about": "string",
"pic_url": "string"
}
output:
{
"full_name": "string",
"career_title": "string",
"location": "string",
"education": "string",
"about": "string",
"pic_url": "string",
"account_id": {
"id": 0,
"user_name": "string",
"email": "string",
"hashed_password": "string",
"role": "string"
}
}
GET employee info by id in/out
input:
The id for the account you want to get info for
output:
{
"full_name": "string",
"career_title": "string",
"location": "string",
"education": "string",
"about": "string",
"pic_url": "string",
"account_id": 0
}
PUT employee in/out
input:
{
"full_name": "string",
"career_title": "string",
"location": "string",
"education": "string",
"about": "string",
"pic_url": "string"
}
output:
{
"full_name": "string",
"career_title": "string",
"location": "string",
"education": "string",
"about": "string",
"pic_url": "string",
"account_id": 0
}
GET all employee infos out
output:
[
{
"full_name": "string",
"career_title": "string",
"location": "string",
"education": "string",
"about": "string",
"pic_url": "string",
"account_id": 0
}
]
POST in/out
input:
{
"company_name": "string",
"job_type": "string",
"location": "string",
"about": "string",
"pic_url": "string"
}
output:
{
"company_name": "string",
"job_type": "string",
"location": "string",
"about": "string",
"pic_url": "string",
"account_id": {
"id": 0,
"user_name": "string",
"email": "string",
"hashed_password": "string",
"role": "string"
}
}
GET employee info by id in/out
input:
The id for the account you want to get info for
output:
{
"company_name": "string",
"job_type": "string",
"location": "string",
"about": "string",
"pic_url": "string",
"account_id": {
"id": 0,
"user_name": "string",
"email": "string",
"hashed_password": "string",
"role": "string"
}
}
PUT employer in/out
input:
{
"company_name": "string",
"job_type": "string",
"location": "string",
"about": "string",
"pic_url": "string"
}
output:
{
"company_name": "string",
"job_type": "string",
"location": "string",
"about": "string",
"pic_url": "string",
"account_id": 0
}
GET all employer infos out
output:
[
{
"company_name": "string",
"job_type": "string",
"location": "string",
"about": "string",
"pic_url": "string",
"account_id": 0
}
]