Git Product home page Git Product logo

proxima's Introduction

Proxima 🚀 🌌

Proxima is an application that makes viewing, interviewing, and deliberating candidates easier.

Use case

We, at VandyHacks, use Proxima to centralize board application materials. The goal for us was to make the board recruitment process easier and more pleasant. Proxima receives applications from the TypeForm webhook, which we configured to have certain fields (names for application inputs) in the payload.

Technologies:

  1. Node
  2. Koa
  3. TypeORM
  4. PostgreSQL
  5. Docker

Running:

Install and run Docker.

Start: docker-compose build and docker-compose up

To clear up the database: docker-compose down

Seeding the database:

Once you run the application, the database is initially empty. Since the production database is populated through a TypeForm WebHook, one could emulate it (e.g. in Postman). Example of a WebHook Payload is in ./backend/examples/typeform_payload.json, which would be a body of a POST request to http://localhost:3000/api/v1/typeform/submit.

Front-end

Technologies:

  1. Svelte (with TypeScript)
  2. CarbonUI (docs)

Running in the development environment: npm run dev

proxima's People

Contributors

aadarshjha avatar aadibajpai avatar ace314159 avatar chinchuluun1029 avatar imgbotapp avatar saydus avatar semenodp avatar wua3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

proxima's Issues

auth with svelte

Description

It would be nice if we had auth w svelte

Priority

doing rn

Automate take home send-outs

We send take homes in waves for all applicants on certain dates. It would be awesome to fully automate this process. In addition, accepting the submissions and automatically linking them to the application would be 10x.

We would need information about:

  • the content of the take home itself
  • what day of the week it should be sent out

Refactor addQuestion to separate modal

Description

It would be better if we reduced bloat in some routes if we refactor some of the modals to the components folder and call it from there.

Priority

Low

Styling on Interview Section – Headers, Bolding, Navigation

Description

It would be helpful for interviewers to have some kind of navigation to the questions or headers so that delimiters are more obvious.

Additionally, conditionally rendering committee questions based on each applicant may be useful, or some kind of dropdown or side navigation menu.

Priority

Slack oauth instead of auth0

User story

As a proxima user
When I access proxima
I want to login with slack
So that I don't need to remember

Requirements

  • Create oauth slack app (ask Sayd for admin permissions)
  • Use existing slack routes in this PR (https://github.com/VandyHacks/proxima/pull/48/files). You will need to provide SLACK_CLIENT_ID and SLACK_CLIENT_SECRET
  • Create User table in DB
  • Line 42 in auth.ts, check if User is part of VandyHacks workspace and persist his/her slack info to DB
  • Remove auth0 from frontend and have calls on backend routes for slack

Story points: 4

'sponsorship', 'accepted' committees both green!

#86
different committees are assigned different colors, this is for easily visual differentiation on the 'Applicants' page. 'sponsorships' is green. when an applicant is accepted into a committee, that committee (whatever it is) also turns green. fix for clarity!

Automate take home submissions and send-outs

Automate take-home emails for all committees. We need a button for interviewers to be able to send a take home and a submission form for take home files for applicants.

We can use Typeform for this too.

Matching Interviewers to an Applicant

Description

It would be awesome to be able to match interviewers to an application, select date and time, and send out automated calendar invites to all people in a meeting! Since we have Slack auth, we have a list of all interviewers on the platform -> we show the data to superadmins who can match.

End questions

There are general end questions that are not being rendered by front-end.

Should appear in /questions and /notes.

Questions and answers displayed in reversed order

When a user views the completed notes for the applicant, the questions and the corresponding answers for each interviewer are displayed in a reversed order.

For example, "why are you interested in vandyhacks" will be at the bottom of the section, while the "wrap up" questions will be at the top.

Filter / group by committee applied for

Description

As one of the dev directors, it would be more useful for me to be able to sort or filter by people who have the dev tag in their committee field.

It appears the current ordering by clicking on the tab makes it ascending or descending depending on the number of committees a person has applied to which is largely not useful.

Edit questions

It would be nice to be able to delete and update questions from the questions page.

Clicking outside ConfirmationModal doesn't open it again

Describe the bug
A clear and concise description of what the bug is.

(will add repro soon)

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Adding comments to the application in application view page.

There should be a text area input that should be present at all times in the application view, which asks for the name of the person leaving comments and the comment itself.

The comments should show in the open dropdown, just as application notes.

Modal view bug on change status to "to_interview"

Description
When changing the status to "to_interview" for an applicant, the modal that pops up shows up

To Reproduce
Steps to reproduce the behavior:

  1. Go to application page that is "applied"
  2. Press button status to "Interview"

Styling issue that appears:
Screen Shot 2021-01-09 at 10 07 48 PM

This doesn't happen when essays are very short.

Make whole row clickable

User story

As a very nice boi
When I go on proxima
I want to click on applicant's row
So that it takes me to their application

Requirements

Essentially make whole row clickable instead of just their name, it feels more intuitive and less restrictive—especially since on hover the color changes already which gives the appearance of a selection.

image

Additional thoughts on application

User story

As a reviewer
When I look at applicant
I want to add additional thoughts to the application
So that it can be later on used to make decision

Requirements

  • Table to display thoughts
  • TextArea to add new thought

Story points: 1

Search doesn't work

Describe the bug
Search functionality doesn't work on the applications page.

To-do:
Implement search

Automate interview scheduling

It would be convenient to schedule interviews automatically. We would need to have availability of applicants and interviewers and can automatically schedule interviews and send invites through Google Calendar API.

search doesnt work

Describe the bug
Search doesnt work rn, so im going to comment it out for now and then someone can pick it up later since we need the app for tomo.

To Reproduce
Steps to reproduce the behavior:

  1. Just go to search and see that it doesnt work lol

Expected behavior
I expected to be able to search

Screenshots
No

Desktop (please complete the following information):
Mac

Smartphone (please complete the following information):
from my computer

Additional context
n/a

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.