Code Monkey home page Code Monkey logo

dealport's Introduction

DealPort

Running for the first time

Install node.js and npm:

# Ubuntu / Debian
sudo apt-get install -y nodejs npm

For other operating systems see Installing-Node.js-via-package-manager

On windows you will also need to install Python 2.7 (make sure it is on your %PATH%) and Visual Studio C++ Express for Windows Desktop

Install dependencies for this project (node_modules):

npm install

For MonogoDB connection configuration, see Configuration The default is mongodb://localhost:27017/dealport

Compile LESS CSS and Javascript bundles, run linter, etc (using grunt) and start the server:

npm start

Configuration

See lib/server-config.js for valid config keys and their default values. To set a config value you can use:

npm config set dealport:mongoUri foo

Or you can create a .npmrc file in the project root or in your home directory:

dealport:listenHostname=0.0.0.0
dealport:mongoUri=foo

Grunt

Grunt is a task runner, you can install the grunt-cli using sudo npm install -g grunt-cli. Use grunt -h to display the tasks that are valid for this project. If you are unable to install packages globally it is possible to run the grunt-cli locally using ./node_modules/.bin/grunt-cli dosomething

dealport's People

Contributors

ivanpopelyshev avatar joris-van-der-wel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dealport's Issues

File deduplication

There is no way for the user to select an existing image, and currently uploading the same image multiple time means it is also stored multiple times. Deduplication should be used to reduce the storage needed.

Images are currently stored in mongo's GridFS. A simple sha-2 and file size column should be enough to implement this.
It might also be interesting to also hash on the client side to see if the server already knows about the file.

Debug config flag

This would be useful to trigger a bunch of stuff:

  • long strack traces in promisify
  • sharejs logging
  • Resource logging

more?

User profile

A public page about the user.

Available trough a "vanity url". domain/username. For example: dealport.co/richardvanderhorst

  • Support for named entities that reference a user (vanity url)
  • #53 Set up sharejs for user
  • #54 Editable page that displays information about a user

Follow organisation

Incoming feedback by user Arian:
As a founder I want to create a "following" of my startup. People who want to receive new updates about my startup (potential investors, customers, etc) could simple follow the organisation by clicking on a "like" button at the startup profile.

Removal of unused files

Currently, if an image is no longer used by any company logo, it will not be removed from the database.

This might be bad for the size of the database. However fixing this is complicated in mongo (concurrency issues)

Improve browser compability checks

The existing browser compatibility checks (which take place in client-side javascript before the client-side controller system is activated) might not be adequate.

An extra check (including warning) needs to take place when a user activates the inline editing.
For example, by checking for the existence of the File API

New data: company size

How many people work at an organisation?
Company size: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5000+

Send company updates to connected clients

Whenever someone edits a company, these edits must be distributed to other clients as well. This prevents users from making incorrect edits whenever a specific company is editable by multiple users.

This feature needs to take in account clients which are temporarily disconnected. Updates also need (to check) timestamps to prevent clients from sending old updates.

Perhaps a system could be designed (or found) which would allow for generic synchronization of data entities.

Certain types of data might need exclusive locks. (this is not yet the case)

Post a job

Users want to publish jobs, internships, positions as a co-founder

Automatic image resize

Presently, if someone uploads a large image as a company logo, it is resized by the browser (css). The server should perform an actual image resize (cached) to reduce file sizes.

Improve README

What should it contain?

  • Vision?
  • Core values?
  • How to get it to run (done)
  • Other?

Company detail page

  • Vanity urls for companies (without conflicts between different entities)
  • Routing & Controllers for the detail page
  • Display the same fields as in a CompanyGridItem in the header
  • Field for product info
  • #21 Link a User to a company (founders, team members, investors, etc) : Depends on #19
  • #22 List of job vacancies

Logo placeholder

The current logo placeholder is hotlinked from "somewhere" else. We should create our own and host it ourselves.

Report a hire

Select from people you have met (list of introductions) or if not on the list custom addition(s) "Add a hire" -

We will/need to ask hired candidates to confirm their new position.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.