- Our Solution
- Site Map
- Designs
- Tech Stack
- Architecture
- Database
- Third-party libraries
- License file
- Getting started
- Team members
- Further development
An invite-only web application where candidates can search for jobs, and companies can easily shortlist candidates for specific positions.
The backend runs on Google Cloud and is powered by Golang, while the frontend is built with Angular and deployed via Vercel. Nginx is used for routing, PostgreSQL and SQLite are used for data storage, and Auth0 is used for safe user administration. We use a load balancer for the domain to guarantee HTTPS.
As for the matching algorithm for candidates to recommend jobs and for companies to recommend candidates for jobs, unfortunately was not implemented due to time and capacity constraints, however, the idea can be found in matching.md file.
A presentation of our project can be found in the inside the docs
folder.
Also, you can view some demo videos showcasing the basic features of our implementation inside the docs/demo
folder.
- The designs were created using Figma.
Backend | Frontend | Database | Cloud Storage | Deployments |
---|---|---|---|---|
Golang | Angular | PostgreSQL | GCP | GCP |
Gorilla mux | DaisyUI | Auth0 | Vercel | |
SQLX | NgRX |
For the Back-End:
For the Front-End:
- Tailwind CSS framework
- DaisyUI - component library for Tailwind CSS
- RxJS - Reactive Extensions Library for JavaScript
- NGRX - Reactive State for Angular
This project has a deployed version, which you can view here.
You can also run it locally, using the following instructions:
- Node.js
- npm package manager (which is installed with Node.js by default)
- Angular CLI
- Clone the repository on your computer. You can find instructions for that here
- On the root folder of the project, run
npm i
- For the Back-End:
- Go to the backend folder using
cd src/backend
SET POSTGRESQL_URL='postgres://postgres:shift2023@0.0.0.0:5432/postgres?sslmode=disable'
make DATA_PATH=/any/path/to/data docker-run-db
where you can specify any path on your computer- Now the database is running on port :5432
- run
migrate -database ${POSTGRESQL_URL} -path internal/db/migrations up
only the 1st time, to get all the changes from the db make run
- Now the backend is running on http://localhost:8080/
- Go to the backend folder using
- For the Front-End:
- In another terminal, from the root folder of the project run
npm i --prefix src/frontend
- Go to the frontend folder using
cd src/frontend
- run
npm start
- In another terminal, from the root folder of the project run
- Now you can visit http://localhost:4200/ on your browser to view the SHIFT website.
The Front-End services are performing HTTP Requests on our deployed back-end. If you want to perform HTTP Requests to the local back-end, make sure to change the API_BASE_URL in the file src/frontend/src/environments/environment.ts to 'http://localhost:8080'
In order to view the content of our website, you are required to login.
We are using Auth0 for User Authentication.
Here you can find some demo users you can use.
Name | Role | GitHub |
---|---|---|
Adamantia Milia | Frontend | mandyjker |
Adrianna Zielińska | Backend, Data Science | adriannaziel |
Bianca Alves | Project Manager | biancamnalves |
Hannah Rüfenacht | UX/UI | hrrenee15 |
Istvan Zsigmond | Backend | istvzsig |
João Rodrigues | Fullstack | jotar910 |
- For any further development, please contact João Rodrigues.