Schedview is a Web API for managing interview timeslots between candidates and employees
git clone [email protected]:peregrinius/schedview.git
cd schedview
virtualenv -p <path to python3> venv
source venv/bin/activate
pip install requirements.txt
The following environment variables are required to run the service
export SV_DB_CONNECTION="sqlite:///:memory:"
export SV_LOGGING_FORMAT="%(asctime)s:%(name)s:L%(lineno)s:%(levelname)s - %(message)s"
export SV_LOGGING_LEVEL="DEBUG"
pytest
python run.py
Schedview is built using the Bottle Python Web Framework, each application is separate and can be run independently, while also being able to run together using the python run.py
command.
There is a many to many relationship between a candidate and a job and between an employee and a job. This means that a candidate can apply for many jobs and an employee can interview many candidates and many employees can interview the same candidate.
+-----------+ +-----+ +-----------+
|INTERVIEWEE+^-------+ JOB +-------^+INTERVIEWER|
+-----+-----+ +-----+ +-----+-----+
^ ^
| |
+-----+----+ +----+----+
|CANDIDATE | |EMPLOYEE |
+----------+ +---------+
- Create constraint on Interviewee table to prevent a candidate from applying for the same job multiple times.
- Improve test coverage - add more tests to check failures e.g. sending candidate_id to employee get
- add deployment process (uWSGI, Zappa)