Code Monkey home page Code Monkey logo

coffee-tavern's Introduction

imported repo from gitlab (gitlab.com/caffeine-anonymous/coffee-tavern.git)

Coffee Tavern

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.

Team:

Person 1 - Hideaki Hama Person 2 - Curtis Cheung Person 3 - Lexey Olsen Person 4 - Christopher Shih

Stack:

Front-End

- React
- Javascript

Back-End

- Fast API
- PostgreSQL
- Python

Platform

- Docker

Unit-Test

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

Database Urls

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

Application Design

GUI Map

Alt text Alt text Alt text

Employee Map

Alt text Alt text Alt text Alt text Alt text Alt text Alt text

Employer Map

Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text Alt text

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
  }
]

coffee-tavern's People

Contributors

curtischeung avatar chrshih875 avatar hideakihama avatar lexey4 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.