# touchbase
**Repository Path**: mirrors_couchbaselabs/touchbase
## Basic Information
- **Project Name**: touchbase
- **Description**: A Couchbase N1QL example of a social network app using Angular.js and Node.js
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-08
- **Last Updated**: 2026-05-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

#Touchbase
**Created By:** Pranav Mayuram
An opensource NoSQL social network platform using Couchbase Server 4.0 (featuring N1QL), as well as Express, Angular and Node (the JavaScript web stack). The UI is created primarily using Angular Material Design, as well as parts of Bootstrap, Semantic UI and Materialize CSS. A preview of one use-case for the product can be seen below. These images are for a network built using Touchbase, made to be used as an internal social network for Couchbase employees.

Using the setup specified in this README, you will be able to create your own customized social network with a multitude of features. These include:
* **Login and Registration**
* **Email Verification**
* **Session-based user authentication for security**
* **Searchable user profiles**
* **Profile pictures uploads with cropping**
* **Statistics page with login graphing over time**
* **Ability to customize one's personal profile**
* **Searchable user posts, separated by type**
* **Beautiful Material Design**
Many of these features can be further customized by any developer using the 'config.json' file. For example, the purpose of the social network is up to you, and the user fields that users are asked for can also be customized accordingly. The same applies for the different types of posts you would like to have in your network. Ability to change the color scheme and branding are also explained thoroughly in this README.
### Prerequisites
For the contents of this README, it is assumed that you have the following items setup.
1. System-specific prerequisites for node-gyp at https://github.com/nodejs/node-gyp
2. A working Couchbase Server 4.0 cluster, single node will do for exploring with enough free RAM for at least one bucket
3. A Sendgrid Web API account
4. Node.js & NPM (node >= 3.3 with npm >= 3.3 should do)
5. GraphicsMagick (`brew install graphicsmagick` on Mac OS X)
If you lack any one of these things, proper installation and setup can be seen in PREREQUISITES.md.
### Getting the Project
The simplest way to get Touchbase is simply to clone it to wherever you choose. Keep track of the directory where you clone the Touchbase repo, as you will have to navigate to it in the future.
Simply navigate to the directory where you want to keep Touchbase (Documents, Desktop, etc.) in your command line (Terminal) where you want to keep the project folder and run the following command:
````$ git clone https://github.com/couchbaselabs/touchbase.git````
This will now create the folder in that directory, and you can enter the folder, and then one level deeper into 'TouchbaseModular' (**touchbase/TouchbaseModular**). Here is where you will need to navigate when doing anything specific to your project.
### Installing Node Modules and Bower Components
***This is project-specific. Navigate to your project directory to run these commands in your command line. If you don't have the project downloaded, check 'Getting the Project'.***
######NPM
Once NPM (node package manager) is properly available, run one simple command:
````$ npm install````
Then, this will install all modules that were specified for the project in the 'package.json' file. You may need to use **sudo** before the command to do it as a root/administrator.
All of these modules will be put into the 'node_modules' folder and then be accessed in the back-end javascript files using 'require' statements, or ````