# 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 giving you the tools to tailor your job search specifically to you. One platform for every platform. ## Usage We are currently working on a desktop application to enable you to scrape the lastest job posts from any website. Stay updated with the latest information here! ## 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 within job application sites, no more manually uploading your resume to 5 different applications. - More data sources for jobs (currently only one platform) - 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 ``` 2. 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. 3. 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. 4. 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](https://actix.rs/) - A powerful, pragmatic, and extremely fast web framework for Rust. - [Sqlx](https://github.com/launchbadge/sqlx) - A Sql library boasting compile-time query validation - [Serde](https://serde.rs/) - A framework for serializing and deserializing Rust data structures efficiently and generically. - [UUID](https://github.com/uuid-rs/uuid) - A library providing support for Universally Unique Identifiers (UUIDs) in Rust. - [Thiserror](https://github.com/dtolnay/thiserror) - A library for creating custom error types in Rust.