-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
This guide will walk you through setting up NQ on your computer, step-by-step. Even if you're not a developer, you can follow these instructions to get NQ running.
Time needed: 30 minutes to 2 hours (depending on experience level)
What you'll do:
- Install required software (Go, Node.js, and a database)
- Download NQ
- Set up the backend (the "brain" of NQ)
- Set up the frontend (the mobile app)
- Start using NQ!
Before NQ can run, you need to install three programs. Don't worry - they're all free!
Go powers NQ's backend server.
What to do:
- Visit https://go.dev/dl/
- Download the installer for your operating system:
- Windows: Download the
.msifile - Mac: Download the
.pkgfile - Linux: Download the appropriate tarball
- Windows: Download the
- Run the installer and follow the on-screen instructions
- Accept the default installation options
Verify it worked:
- Open Terminal (Mac/Linux) or Command Prompt (Windows)
- Type:
go version - You should see something like:
go version go1.25.1
Need help? See the detailed Go installation steps in the User Guide
Node.js runs the mobile app development server.
What to do:
- Visit https://nodejs.org/
- Download the LTS (Long Term Support) version - this is the recommended, stable version
- Run the installer
- Follow the installation wizard (accept default options)
Verify it worked:
- Open Terminal/Command Prompt
- Type:
node --version - You should see a version number like:
v18.x.xor higher
Neo4j is a special type of database that stores connections between your media (like "this movie is similar to that one").
Choose one option:
This is easier because nothing installs on your computer.
What to do:
- Go to https://neo4j.com/cloud/aura/
- Click "Start Free"
- Create an account (or sign in with Google)
- Click "Create Instance" → Select "Free" tier
-
IMPORTANT: Save the credentials shown! You'll need:
- Connection URI (looks like:
neo4j+s://xxxxx.databases.neo4j.io) - Username (usually
neo4j) - Password (auto-generated)
- Connection URI (looks like:
- Click "Download and Continue" to save these to a text file
- Wait 1-2 minutes for your database to start
Install the database on your computer.
What to do:
- Go to https://neo4j.com/download/
- Download Neo4j Desktop for your operating system
- Install and open Neo4j Desktop
- Create a new project (name it "NQ")
- Add a new "Local DBMS" (database)
- Set a password you'll remember
- Click "Start" to run your database
- Your credentials are:
- Connection URI:
bolt://localhost:7687 - Username:
neo4j - Password: [your chosen password]
- Connection URI:
Option 1: Using Git (Recommended)
If you have Git installed:
# Choose where to install (e.g., your home folder)
cd ~
# Download NQ
git clone https://github.com/grillinr/nq.git
# Go into the NQ folder
cd nqOption 2: Download ZIP
If you don't have Git:
- Visit https://github.com/grillinr/nq
- Click the green "Code" button
- Click "Download ZIP"
- Extract the ZIP file to a location you'll remember
- Open Terminal/Command Prompt and navigate to that folder
The backend is the "server" part of NQ - it talks to your database and the various media services.
cd backend(If you're not already in the nq folder, navigate there first)
This file will store your database password and API keys.
Mac/Linux:
cp .envtemplate .envWindows:
copy .envtemplate .envThis creates a new file called .env based on the template.
What to do:
- Open the
.envfile in a text editor (Notepad on Windows, TextEdit on Mac, or any code editor) - Find these lines:
NEO4J_URI= NEO4J_USERNAME= NEO4J_PASSWORD= NEO4J_DATABASE=
- Fill in your Neo4j credentials from Step 1:
NEO4J_URI=neo4j+s://xxxxx.databases.neo4j.io # Your connection URI from Aura NEO4J_USERNAME=neo4j # Usually just "neo4j" NEO4J_PASSWORD=YourPasswordHere # The password you saved NEO4J_DATABASE=neo4j # Usually just "neo4j"
- Save the file
Note: Leave the API key sections blank for now. You'll add those later when you want to connect services like Spotify or Steam. See API Data Sources for details.
Let's make sure everything works!
go run .What should happen:
- You'll see some text appear
- After a few seconds, you should see:
Starting server on :8080 - The terminal will stay open and keep running
Success! Your backend is working.
If you see errors:
- "Failed to connect to Neo4j" → Check your credentials in
.env - "Port 8080 already in use" → Close other programs using that port, or see Troubleshooting
- Other errors → See the FAQ or Troubleshooting
While the backend is running:
- Open a web browser
- Go to:
http://localhost:8080 - You should see a page called "GraphQL Playground"
Perfect! The backend is ready.
Stop the backend for now:
- Press
Ctrl+Cin the terminal window
The frontend is the mobile app you'll actually interact with.
Open a new terminal window (or use the same one now that backend is stopped):
# From the backend folder:
cd ../nq-frontend
# OR if you're in the main nq folder:
cd nq-frontendThis downloads all the code libraries the app needs.
npm installThis will take a few minutes. You'll see lots of text scroll by - that's normal! It's downloading thousands of small files the app needs.
Wait until you see:
- The scrolling stops
- You're back to the command prompt
- No error messages appear
npx expo startWhat you'll see:
- Metro bundler starting (this prepares the app)
- A QR code appears
- A menu with options like "Press a │ open Android"
This is good! The frontend is running.
You have several ways to view the app:
Option A: On Your Phone (Easiest)
- Install the "Expo Go" app from your phone's app store (it's free)
- Open Expo Go
- Scan the QR code shown in your terminal
- Wait for the app to load (first time takes a minute)
Option B: Android Emulator
- Install Android Studio
- Set up an Android Virtual Device (AVD) - see Android setup guide
- Start the emulator
- In the Expo terminal, press
a
Option C: iOS Simulator (Mac only)
- Install Xcode from the Mac App Store
- In the Expo terminal, press
i - The simulator will open and load the app
Option D: Web Browser (Limited)
- In the Expo terminal, press
w - A browser window opens (note: some features won't work in browser)
While the backend is running (you started it with go run . in Step 3):
- Open browser to:
http://localhost:8080 - You should see "GraphQL Playground"
- This means the backend is working correctly!
While the frontend is running (you started it with npx expo start in Step 4):
- The app should load on your phone/emulator
- You should see the NQ interface
- If you see connection errors, make sure the backend is also running
To use NQ, you need both running at the same time:
-
Terminal 1: Backend (
cd backend && go run .) -
Terminal 2: Frontend (
cd nq-frontend && npx expo start)
Keep both terminal windows open while using NQ.
Problem: Backend can't reach your database
Solutions:
-
Check your credentials in
.env:- Make sure URI, username, and password are exactly as provided
- No extra spaces or quotes
- For Aura (cloud): Check that your instance is running at console.neo4j.io
- For local: Make sure Neo4j Desktop shows your database as "Active"
Problem: Another program is using that port
Solutions:
- Find and close the other program using port 8080
-
OR change NQ's port:
- Open
.env - Add a new line:
PORT=8081 - Save the file
- Restart the backend
- Open
Problem: The software isn't installed or not in your system's PATH
Solutions:
- Reinstall Go or Node.js following Step 1
- Restart your terminal after installing
- Check the installation followed all steps
Problem: Missing or corrupted dependencies
Solution:
cd nq-frontend
rm -rf node_modules # Delete the folder
npm install # Reinstall everythingProblem: The app bundler has cached corrupted files
Solution:
npx expo start -c # The -c flag clears the cacheProblem: Your phone can't reach localhost
Solution:
- Your phone and computer must be on the same WiFi network
- Instead of
localhost, the app may need to use your computer's IP address - Check your router or network settings to find your computer's local IP (e.g.,
192.168.1.100)
- Check the FAQ for more detailed troubleshooting
- See the User Guide for step-by-step help
- Review error messages carefully - they often tell you exactly what's wrong
- Search for your error online - many issues have common solutions
🎉 Congratulations! NQ is installed and running.
-
Connect Your Services
- See the API Data Sources guide
- Get API keys for services you want to use (Spotify, Steam, etc.)
- Add them to your
.envfile
-
Learn to Use NQ
- Read the User Guide for detailed instructions
- Start syncing your media libraries
- Get personalized recommendations!
-
Explore the Features
- Try the GraphQL Playground at
http://localhost:8080 - Browse your media library in the app
- Discover new content based on your preferences
- Try the GraphQL Playground at
Whenever you want to use NQ:
-
Start the backend:
cd /path/to/nq/backend go run .
-
Start the frontend (in a new terminal):
cd /path/to/nq/nq-frontend npx expo start -
Open the app on your phone or emulator
-
Enjoy your recommendations!
- User Guide - Complete how-to for using NQ
- FAQ - Answers to common questions
- API Data Sources - Connect your media services
- Usage Guide - Advanced usage and development
- Tech Stack - Learn about the technology behind NQ