sshmendez / ContractStream

A contract finding and application platform

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Contract Stream - The Job Searching Platform

Save time when you're searching for a new contract. Contract Stream keeps you updated with the most relevant job posts day to day, allowing to you keep track of market trends, and allowing you to tailor your job search specifically to you. One platform for every platform.

Usage

This project is domain specific, and will likely not be useful to most people without changes. However it can be used as a quickstart example for a Postgresql + HTTP Rust project.

The code exposed here doesn't do any of the interesting machine learning or ai, this is simply a database and HTTP api.

Features

  • User registration and login for a personalized experience.
  • Advanced search capabilities with support for keywords and resume-based filtering.
  • Secure data handling and end-to-end encryption to ensure privacy.
  • Saving and managing multiple resumes to cater to various job applications.
  • Organizing and tracking active job searches.
  • Viewing and managing pending job actions such as rejecting or accepting proposals.

Future features

  • Automated job application processing; automatically fill in basic infomation onto job application sites, no more manually uploading your resume to 5 different applications.
  • More data sources for jobs
  • Access to a blog section for career advice, industry trends, and other helpful resources.
  • A forum for users to engage in discussions and share experiences with fellow job seekers.

Prerequisites

  • Git
  • Rust 1.55.0 or later
  • A PostgreSQL database

Installation

  1. Clone the repository:
https://github.com/sshmendez/ContractStream.git
cd ContractStream
  1. Set up the PostgreSQL database:
  • Create a new database for the platform.
  • Execute the SQL scripts located in the migrations folder to set up the necessary tables.
./initdb.sh --prod --create

This script runs sqlx, creating a database and initializing every table.

  1. Configure the platform:
  • Create a .env file in the root directory with the following contents:
DATABASE_URL=postgres://username:password@localhost/db_name

Replace username, password, and db_name with the appropriate values for your PostgreSQL database.

  1. Build and run the platform:
cargo run

The platform will be accessible at http://localhost:8080.

License

All rights reserved. Copyright (c) 2023

Acknowledgements

  • Actix Web - A powerful, pragmatic, and extremely fast web framework for Rust.
  • Sqlx - A Sql library boasting compile-time query validation
  • Serde - A framework for serializing and deserializing Rust data structures efficiently and generically.
  • UUID - A library providing support for Universally Unique Identifiers (UUIDs) in Rust.
  • Thiserror - A library for creating custom error types in Rust.

About

A contract finding and application platform


Languages

Language:Rust 92.3%Language:Shell 6.5%Language:PLpgSQL 1.2%