Skip to content

jbenjaminy/code-up

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

codeUp (beta)

codeUp is a platform that provides answers to your programming and existential questions (e.g., how to fly) in a real-time, 1-on-1 environment by your peers and experts. It seamlessly integrates real-time, collaborative code editor and instant messaging with other users. Let's go learn how to fly!

To begin, register a user account or log in/authenticate with your GitHub credentials. Then ask your question, add relevant tags by topic, and see your question appear in a real-time lobby queue. Other users may then respond to your question and begin a 1-on-1 chat session to discuss and/or pair program solutions to your programming dilemma. Registration is not required, but you will be limited to only viewing posted questions as a guest user.

The backend is built on Node.js and serves the frontend "view" with event-based communication provided by Socket.io. The user interface is framed with React and Redux, dressed with collaborative-mojo freely provided by Firepad.io code editor in its open source fashion. PostgreSQL database provides bookkeeping on users, questions, topic tags, and chat messages so an expert can review chat logs to continue helping a user with their question from where another may have left off.

Screenshots

codeUp beta screenshot

Live Deployment

Live demo can be seen at: https://codeup-app.herokuapp.com

Local Setup

Steps for setting up codeUp locally.

BACKEND:

Setting up the database and backend server.

1. Install postgreSQL using homebrew:
		$ brew install postgresql

2. Install postgreSQL node-module using NPM:
		$ npm install --save pg

3. Launch postgreSQL using homebrew:
		$ brew services start postgresql

4. In project directory, create new db:
		$ createdb *INSERT_DB_NAME*

5. Connect model tables (schema.sql) db:
		$ psql -d *INSERT_DB_NAME* < *INSERT_SCHEMA.SQL_PATH*

6. Access database:
		$ psql -d *INSERT_DB_NAME*

For example, once postgreSQL is installed and launched, type:

	* `createdb chat`
	* `psql -d chat < backend/database/schema.sql`
	* `psql -d chat`
	* `insert into users (user_name) values ('Alex');`
	* `insert into questions (user_id, question_text, when_asked, is_answered) values (1, 'this is the questions text', '1999-01-08 04:05:06', false);`

Queries for accessing the SQL database directly.

Query examples:
	CREATE:
		$ insert into *INSERT_TABLE* (*INSERT_COLUMN_1*, *INSERT_COLUMN_2*) values ('*INSERT_VALUE_1*', '*INSERT_VALUE_2*');
		'1999-01-08 04:05:06' (format timestamp like this)
	READ:
		$ select * from *INSERT_TABLE*;
		$ select *INSERT_VALUE from *INSERT_TABLE*;
		$ select *INSERT_COLUMN_1*, *INSERT_COLUMN_2* from *INSERT_TABLE* where *INSERT_COLUMN_1*='*INSERT_VALUE_1*';
	UPDATE:
		$ update *INSERT_TABLE* set *INSERT_COLUMN_1*='*INSERT_VALUE_1*' where *INSERT_VALUE_2*='*INSERT_COLUMN_2*';
	DELETE:
		$ delete from *INSERT_TABLE* where *INSERT_COLUMN_1*='*INSERT_VALUE_1*';

Authors

Also see the list of contributors for their specific commits to this project.

Tech:

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 73.7%
  • CSS 25.1%
  • HTML 1.2%