Description: Finding and selling short term rentals is a universal pain amongst postsecondary students. This repository contains the code for UW Cribs, a product serving the Waterloo postsecondary student community by providing a centralized filterable interface for housing posts made on Facebook groups. This project is still in its infancy but we hope from Day One to provide an enjoyable experience for students finding housing.
Other things to include:
- Technology stack: This repository contains code for a Turborepo monorepo, using Yarn as a package manager. It contains both
apps
andpackages
:
apps
web
- A Next.js web application written in TypeScript. It serves as the user-facing frontend interface allowing users to filter through housing posts.
server
- A Node.js server written in TypeScript. It serves as an API queried by the
web
app, performing CRUD operations on housing data.
- A Node.js server written in TypeScript. It serves as an API queried by the
parser
- A Node.js server written in JavaScript. It serves as a web scraper + data analyzer, scraping posts off of Facebook groups, categorizing posts into various data fields using
nlp.js
, and performing the appropriate CRUD operations on housing data.
- A Node.js server written in JavaScript. It serves as a web scraper + data analyzer, scraping posts off of Facebook groups, categorizing posts into various data fields using
packages
ui
- A custom React UI library providing reusable components for the frontend applications of the monorepo.
config
- Contains configuration files for various tools used in the monorepo, such as Jest, ESLint, and TailwindCSS.
tsconfig
- Contains configuration files for using TypeScript in the applications written in TypeScript
- Status: This project has been recently launched for public use (v1)
- Links to production or demo instances: The production link is https://uwcribs.com/
This turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
Clone the repository locally to run any of the individual applications. Then (at the root), run:
yarn install
husky install
To run any of the applications, navigate to the directory of each and then run:
yarn run dev
Each application contains an .env.example
which provide the environment variables required to be placed into .env
files (at the same directory level). Some values are up to the developer's personal usage, for others - contact a contributor to this repo.
We'd love to get help from you on this project! If you have a specific issue, feel free to open up a GitHub issue for this project. If you'd like to directly contribute, contact a contributor to this project and let them know you'd like to help!
Learn more about the power of Turborepo:
MIT License