{"id":16738583,"url":"https://github.com/airhorns/codejam","last_synced_at":"2025-06-22T06:38:53.932Z","repository":{"id":1191915,"uuid":"1096252","full_name":"airhorns/codejam","owner":"airhorns","description":"a node.js application written for the mcgill codejam in 48 hours","archived":false,"fork":false,"pushed_at":"2010-11-25T00:38:31.000Z","size":940,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-22T11:16:03.861Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"mcgillcodejam.com","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/airhorns.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-11-19T23:54:24.000Z","updated_at":"2014-03-12T16:56:04.000Z","dependencies_parsed_at":"2022-08-16T12:31:01.614Z","dependency_job_id":null,"html_url":"https://github.com/airhorns/codejam","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airhorns%2Fcodejam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airhorns%2Fcodejam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airhorns%2Fcodejam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airhorns%2Fcodejam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/airhorns","download_url":"https://codeload.github.com/airhorns/codejam/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243797518,"owners_count":20349413,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T00:31:41.095Z","updated_at":"2025-03-15T22:21:08.081Z","avatar_url":"https://github.com/airhorns.png","language":"C","readme":"===== CODE JAM =====\n\nHello Judges!\n\nOur application is a web based application which interacts with some servers in the backend. Start it with start.sh, stop it with stop.sh.You must run these as root.\nTo run our application so you can evaluate it, you need to A) configure it, B) start the database server, C) start the server,\nD) start the client, and E) view the website in a webbrowser.\n\nHopefully we will be able to set everything up so you can do the first four things easily by running the start.sh script in\nthe project directory.\n\n\n==== Running the application ====\nThe application consists of 3 components.\n - Redis database server\n - C++ backend and protocol implementation\n - Node.js web server + frontent\n\nTo run the Redis backend database, you must run \n$ sudo redis-server /usr/local/etc/redis.conf\n\nTo run the backend, change to the project directory and run\n$ ./C_server/serverTest -p 8211\n\nTo run the frontend, change to the project directory and run\n$ node public/server.js\n\n\n==== The other backend ====\nWe wrote two backends. One is hacky and fast and written in C++, please use it to evaluate us.\nFor style points and for fun, we also wrote a full fledged implementation of the backend in \nnode.js. It puts bids in the database in the exact same manner as the C++ one, so you can view it's\ninteractions using the same node.js frontend.\nTo run the reference Node.js backend (which is kinda slow in the face of C++ one), run\n$ node server/ipo_server.js\n\n\n==== Installation ====\nInstall node.\n$ wget http://nodejs.org/dist/node-v0.2.5.tar.gz\n$ tar xvpf node-v0.2.5.tar.gz \u0026\u0026 cd node-v0.2.5\n$ ./configure\n$ make\n$ make install\n\nInstall npm\n$ curl http://npmjs.org/install.sh | sh\n\nCompile the C server\n$ cd C_server\n$ make \u0026\u0026 gcc -o ./hiredis.o -c ./hiredis.c \u0026\u0026 g++ -O3 -Wall -o serverTest ./server3.cpp ./*.o\n\n\nYou should install npm. It's a package manager for node.\nInstall these packages using \n$ npm install \u003cpackage\u003e\n\nIn production:\n - redis\n - socket.io \n - express\n - jade\n - yaml\n\nIn development\n - nodeunit\n - coffee-script\n - jitter \n - hexy\n\n==== Compiling Coffeescript files ====\nRun `jitter . .` in your project directory.\n\n\n==== Running Tests ====\nRun nodeunit \u003ctestfile\u003e.js\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairhorns%2Fcodejam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fairhorns%2Fcodejam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairhorns%2Fcodejam/lists"}