You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+30-31Lines changed: 30 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,9 +5,9 @@
5
5
6
6
# Compass
7
7
8
-
This repository provides the source code for [Compass](https://compassmeet.com), a web application where people can bond and form deep 1-on-1 relationships in a fully transparent and efficient way. It just got released—please share it with anyone who would benefit from it!
8
+
This repository provides the source code for [Compass](https://compassmeet.com), a web application for people to form deep 1-on-1 relationships in a fully transparent and efficient way. And it just got released!
9
9
10
-
To contribute, please submit a pull request or issue, or fill out this [form](https://forms.gle/tKnXUMAbEreMK6FC6) for suggestions and collaborations.
10
+
**We can’t do this alone.** Whatever your skills—coding, design, writing, moderation, marketing, or even small donations—you can make a real difference. [Contribute](https://www.compassmeet.com/about) in any way you can and help our community thrive!
11
11
12
12
## Features
13
13
@@ -18,41 +18,44 @@ To contribute, please submit a pull request or issue, or fill out this [form](ht
18
18
- Open source
19
19
- Democratically governed
20
20
21
-
The full description is available [here](https://martinbraquet.com/meeting-rational).
21
+
A detailed description of the vision is available [here](https://martinbraquet.com/meeting-rational).
22
22
23
23
## To Do
24
24
25
25
-[x] Authentication (user/password and Google Sign In)
26
-
-[x] Set up PostgreSQL in Production with supabase or prisma console (can stick with SQLite in dev / local)
27
-
-[x] Set up hosting (vercel)
28
-
-[x] Ask for detailed info per profile upon registration (intellectual interests, location, cause areas, personality type, conflict style, desired type of connection, prompt answers, gender, etc.)
26
+
-[x] Set up PostgreSQL in Production with supabase
27
+
-[x] Set up web hosting (vercel)
28
+
-[x] Set up backend hosting (google cloud)
29
+
-[x] Ask for detailed info upon registration (location, desired type of connection, prompt answers, gender, etc.)
29
30
-[x] Set up page listing all the profiles
30
-
-[x] Search through all the profile variables
31
+
-[x] Search through most profile variables
31
32
-[x] (Set up chat / direct messaging)
32
33
-[x] Set up domain name (https://compassmeet.com)
33
34
34
35
#### Secondary To Do
35
36
36
37
Any action item is open to anyone for collaboration, but the following ones are particularly easy to do for first-time contributors.
37
38
39
+
-[ ] Add profile features (intellectual interests, cause areas, personality type, conflict style, etc.)
40
+
-[ ] Add filters to search through remaining profile features (politics, religion, education level, etc.)
41
+
-[ ] Cover with tests (very important, just the test template and framework are ready)
38
42
-[ ] Clean up terms and conditions
39
43
-[ ] Clean up privacy notice
40
-
-[] Clean up learn more page
44
+
-[x] Clean up learn more page
41
45
-[x] Add dark theme
42
-
-[ ] Cover with tests (almost nothing is covered right now)
43
46
44
47
## Implementation
45
48
46
-
The web app is coded in Typescript using React as front-end and Prisma as back-end. It includes:
49
+
The web app is coded in Typescript using React as front-end. It includes:
-[Supabase](https://supabase.com/) for the PostgreSQL database
52
+
-[Google Cloud](https://console.cloud.google.com) for hosting the backend API
53
+
-[Firebase](https://firebase.google.com/) for authentication and media storage
54
+
-[Vercel](https://vercel.com/) for hosting the front-end
52
55
53
56
## Development
54
57
55
-
Below are all the steps to contribute. If you have any trouble or questions, please don't hesitate to open an issue or contact us on [Discord](https://discord.gg/8Vd7jzqjun)!
58
+
Below are all the steps to contribute. If you have any trouble or questions, please don't hesitate to open an issue or contact us on [Discord](https://discord.gg/8Vd7jzqjun)! We're responsive and happy to help.
56
59
57
60
### Installation
58
61
@@ -66,33 +69,30 @@ Install `opentofu`, `docker`, and `yarn`. Try running this on Linux or macOS for
66
69
```bash
67
70
./setup.sh
68
71
```
72
+
If it doesn't work, you can install them manually (Google how to install `opentofu`, `docker`, and `yarn` for your OS).
69
73
70
-
Install the dependencies:
74
+
Then, install the dependencies for this project:
71
75
```bash
72
76
yarn install
73
77
```
74
78
75
79
### Environment Variables
76
80
77
-
Configure your database connection via an environment variable. Create an `.env` file:
78
-
```bash
79
-
cp .env.example .env
80
-
```
81
+
We can't make the following information public, for security and privacy reasons:
82
+
- Database, otherwise anyone could access all the user data (including private messages)
83
+
- Firebase, otherwise anyone could remove users or modify the media files
84
+
- Email, analytics, and location services, otherwise anyone could use our paid plan
81
85
82
-
To ensure your authentication works properly, you'll also need to set the `AUTH_SECRET`. You can generate such a random 32-character string with:
83
-
```bash
84
-
npx auth secret
85
-
```
86
+
So, for your development, we will give you user-specific access when possible (e.g., Firebase) and for the rest you will need to set up cloned services (email, locations, etc.) and store your secrets as environment variables.
86
87
87
-
In the end, your `.env` file should look similar to this (but using _your own values_ for the secret):
88
+
To do so, simply create an `.env` file as a copy of `.env.example`, open it, and fill in the variables according to the instructions in the file:
Run the following commands to set up your local development database and Prisma schema. Run only the section that corresponds to your operating system.
95
+
Run the following commands to set up your local development database. Run only the section that corresponds to your operating system.
96
96
97
97
On macOS:
98
98
```bash
@@ -120,9 +120,7 @@ ALTER USER postgres WITH PASSWORD 'password';
120
120
121
121
Create the database
122
122
```bash
123
-
npx prisma generate
124
-
npx prisma db push
125
-
npx prisma db seed
123
+
...
126
124
```
127
125
Note that your local database will be made of synthetic data, not real users. This is fine for development and testing.
0 commit comments