👋 Hey, thanks for wanting to improve Referrer! Any contribution is welcome and appreciated!
Before contributing
- Before jumping into a PR be sure to search existing PRs or issues for an open or closed item that relates to your submission.
The goal of Referrer is to simplify receiving and giving jobs referrals. I'm trying to make the UI more intuitive and easier to use in order to provide the best possible experience.
Index No. | Workspace | Info. | Name | Navigate | Port |
---|---|---|---|---|---|
apps / | |||||
1 | api | API Server | @referrer/api | yarn api | 3001 |
2 | storybook | Storybook | @referrer/storybook | yarn story | 6006 |
3 | web | Main Website | @referrer/web | yarn web | 3000 |
4 | mobile | Mobile App | @referrer/mobile | yarn mobile | - |
5 | Desktop | Desktop App | @referrer/desktop | yarn desktop | - |
packages / | |||||
4 | ui | Shared UI Components | @referrer/ui | yarn ui | - |
5 | prisma | Prisma Database | @referrer/prisma | yarn prisma | 5555 |
6 | lib | Shared Library Functions | @referrer/lib | yarn lib | - |
7 | eslint-config-custom | Shared ESLint Config | @referrer/eslint-config-custom | yarn eslint-config-custom | - |
8 | prettier-config | Shared Prettier Config | @referrer/prettier-config | yarn prettier-config | - |
9 | tailwind-config | Shared Tailwind Config | @referrer/tailwind-config | yarn tailwind-config | - |
10 | tsconfig | Shared Tsconfig | @referrer/tsconfig | yarn tsconfig | - |
11 | types | Shared Types | @referrer/types | yarn types | - |
Domain | Tech | Version |
---|---|---|
Repository | Turborepo | 1.9 |
Language | TypeScript | 4.5 |
Client & Server | Next.js | 13.4 |
Mobile App | React Native | 0.72 |
Desktop App | Tauri | 1.4 |
Styling | Tailwind CSS | 3.3 |
Database ORM | Prisma | 4.15 |
Database | PostgreSQL | - |
Api | tRPC | - |
Version Control | GitHub | - |
Code Editor | VS Code | - |
Containerization | Docker | - |
Container Orchestration | Kubernetes | - |
Continuous Integration | GitHub Actions | - |
Continuous Delivery | Argo CD | - |
Deployments | AWS | - |
Infrastructure as code | Terraform | - |
Domain | Libraries | Version |
---|---|---|
Authentication | Next-Auth | 4 |
State Management | Redux Toolkit | |
UI Components | shadcn.ui | |
UI Documentation | Storybook | 7 |
Icons | Lucid React, React Icons, Redix UI React Icons | |
Thenming | Next Themes | |
Schema Validation | Zod | |
Form Validation | React Hook Form | |
Font | Cal Sans | |
Linter Tasks | Lint Staged | |
Git Hook | Husky | |
Code Formatter | Prettier | |
Code Analysis | Eslint | |
Code Coverage | Jest | |
Code Testing | Jest |
To get a local copy up and running, please follow these simple steps. These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Here is what you need to be able to run Cal.com.
- Node.js (Version: >=18.x)
- Git
- Docker and Docker Compose
- Yarn (recommended)
-
Fork this repository to your own GitHub account and then clone it to your local device.
-
Clone the repo into a public GitHub repository (or fork https://github.com/sayande2002/referrer/fork). If you plan to distribute the code, keep the source code public to comply with AGPLv3.
git clone https://github.com/sayande2002/referrer
-
Go to the project folder
cd referrer
-
Install packages with yarn
yarn
-
Create a new branch:
git checkout -b MY_BRANCH_NAME
-
Set up your
.env
file- Duplicate
.env.example
to.env
- Use
openssl rand -base64 32
to generate a key and add it underNEXTAUTH_SECRET
in the.env
file.
- Duplicate
-
Quick start with
yarn dx
- Requires Docker and Docker Compose to be installed
yarn dx
- Once your server has started, go to this url
http://localhost:3000/
and you will see the website running on a Development Server.