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
+35-40Lines changed: 35 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,13 +77,13 @@ The web app is coded in Typescript using React as front-end. It includes:
77
77
78
78
## Development
79
79
80
-
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.
80
+
Below are 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.
81
81
82
82
### Installation
83
83
84
-
Clone the repo and navigating into it:
84
+
Fork the[repo](https://github.com/CompassConnections/Compass) on GitHub (button in top right). Then, clone your repo and navigating into it:
@@ -105,69 +105,64 @@ We can't make the following information public, for security and privacy reasons
105
105
- Firebase, otherwise anyone could remove users or modify the media files
106
106
- Email, analytics, and location services, otherwise anyone could use our paid plan
107
107
108
-
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.
108
+
So, we separate all those services between production and local development, so that you can code freely without impacting the functioning of the platform.
109
+
Contributors should use the default keys for local development. Production uses a separate environment with stricter rules and private keys that are not shared.
109
110
110
-
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:
111
+
Most of the code will work out of the box. All you need to do is creating an `.env` file as a copy of `.env.example`:
111
112
```bash
112
113
cp .env.example .env
113
114
```
114
115
115
-
This project uses Supabase and Firebase. The keys included in `.env.example` point to a staging environment with test data. Contributors should use these keys for local development. Production uses a separate environment with stricter rules and private keys that are not shared.
116
+
Then, most of you can skip the rest of the section. If you do need one of the few remaining services, you need to store your own secrets as environment variables.
117
+
To do so, simply open `.env` and fill in the variables according to the instructions in the file.
116
118
117
-
### Installing PostgreSQL
118
-
119
-
Run the following commands to set up your local development database. Run only the section that corresponds to your operating system.
119
+
### Tests
120
120
121
-
On macOS:
121
+
Make sure the tests pass:
122
122
```bash
123
-
brew install postgresql
124
-
brew services start postgresql
123
+
yarn test tests/jest/
125
124
```
125
+
TODO: make `yarn test` run all the tests, not just the ones in `tests/jest/`.
126
+
127
+
### Running the Development Server
126
128
127
-
On Linux:
129
+
Start the development server:
128
130
```bash
129
-
sudo apt update
130
-
sudo apt install postgresql postgresql-contrib
131
-
sudo systemctl start postgresql
132
-
````
131
+
yarn dev
132
+
```
133
+
134
+
Once the server is running, visit http://localhost:3000 to start using the app. You can sign up and visit the profiles; you should see a few synthetic profiles.
135
+
136
+
### Contributing
137
+
138
+
Now you can start contributing by making changes and submitting pull requests!
133
139
134
-
On Windows, you can download PostgreSQL from the [official website](https://www.postgresql.org/download/windows/).
140
+
See [development.md](docs/development.md) for additional instructions, such as adding new profile features.
135
141
136
-
### Database Initialization
142
+
### Submission
137
143
138
-
Create a database named `compass` and set the password forthe `postgres` user:
Note that your local database will be made of synthetic data, not real users. This is fine for development and testing.
150
-
151
-
### Tests
152
153
153
-
Make sure the tests pass:
154
+
Make changes, then stage and commit:
154
155
```bash
155
-
yarn test tests/jest/
156
+
git add .
157
+
git commit -m "Describe your changes"
156
158
```
157
-
TODO: make `yarn test` run all the tests, not just the ones in`tests/jest/`.
158
-
159
-
### Running the Development Server
160
159
161
-
Start the development server:
160
+
Push branch to your fork:
162
161
```bash
163
-
yarn dev
162
+
git push origin <branch-name>
164
163
```
165
164
166
-
Once the server is running, visit http://localhost:3000 to start using the app. You can sign up and visit the profiles; you should see 5 synthetic profiles.
167
-
168
-
Now you can start contributing by making changes and submitting pull requests!
169
-
170
-
See [development.md](docs/development.md) for additional instructions, such as adding new profile features.
165
+
Finally, open a Pull Request on GitHub from your `fork/<branch-name>` → `CompassConnections/Compass` main branch.
171
166
172
167
## Acknowledgements
173
168
This project is built on top of [manifold.love](https://github.com/sipec/polylove), an open-source dating platform licensed under the MIT License. We greatly appreciate their work and contributions to open-source, which have significantly aided in the development of some core features such as direct messaging, prompts, and email notifications. We invite the community to explore and contribute to other open-source projects like manifold.love as well, especially if you're interested in functionalities that deviate from Compass' ideals of deep, intentional connections.
0 commit comments