Welcome to the tisn.app (or just Tisn) repository! We are very glad to have you here. If you want to help us make Tisn better, this is definitely the place to be!
The primary objective of Tisn is to try and address the problem of the apparent difficulty that exists to meet people and make new friends on this modern world. To do that, our social network:
- Connects people according to their interests
- Encourages people to go outside and meet others while doing something that they all enjoy
- Is as simple as possible
We try to do all of that while being completely transparent and respecting our users' privacy.
Clone the repository:
git clone https://github.com/AlbertoPdRF/tisn.app.git
cd tisn.app
We recommend setting up an SSH key and clonning the repository with the command git clone [email protected]:AlbertoPdRF/tisn.app.git
instead.
- Node.js version 12.x
- We recommend using nvm to install and manage Node versions
- MongoDB
- Alternatively, you can use MongoDB Atlas
Before starting, copy the .env-template
file on the api
folder to a new .env
file on the same folder (i.e. cp api/.env-template api/.env
) and fill it following these instructions:
DB_URL
: should bemongodb://127.0.0.1:27017/tisn
unless you changed MongoDB's default port, want to give another name to the database, or are using MongoDB AtlasJWT_SECRET
: can be any stringCLOUDINARY_CLOUD_NAME
: you can sign up on Cloudinary using the free tier, however this key and the two below are only necessary if you want to upload filesCLOUDINARY_API_KEY
: same as aboveCLOUDINARY_API_SECRET
: same as aboveSENDGRID_API_KEY
: you can sign up on SendGrid using the free tier, however this key is only necessary if you want to send emails, which by default are logged to the console in development mode. The default value is set toSG.
to avoid an unnecesary error message being logged to the consoleBASE_CLIENT_URL
: should behttp://localhost:3000
unless you change the port on which the client runs
Once that's done, you can install all the dependencies, populate the database, and launch the back end executing the following commands from the repository's root folder:
cd api
npm install
npm run db:populate
npm start
Further details about the back end can be found here.
Install all the dependencies and launch the front end executing the following commands from the repository's root folder:
cd client
npm install
npm start
Further details about the front end can be found here.
Please note that you will need to launch both the back and front ends at the same time (i.e. on different terminals) for the application to work as expected.
Copyright (C) 2020 Alberto Pérez de Rada Fiol
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Please see the LICENSE file in our repository for the full text.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
If you have any questions, please email us at [email protected].
Welcome and happy coding!