A socket based, real time web framework.
The P Framework is a real time web framework written in Node.js. It utilizes modern HTML5 technology, including WebSockets to provide a fast, sleek web app experience. For more information, please visit http://thepframework.com. You can also watch a tutorial.
The latest stable release of P has been documented at http://docs.thepframework.com/. Documentation is still a work in progress, but this is the best place to start if you want to learn about P.
- The easiest way to get up and running with P is by using NPM:
sudo npm install -g p-framework
- If you would like the latest stable version of P, use this NPM command:
sudo npm install -g firstname.lastname@example.org
- You can download the latest copy of P from thepframework.com.
After installing P with NPM, you can set up a blank slate by running:
p engage /path/to/your/project
To run the P server, execute the following commands:
cd /path/to/your/projectnpm start
P is in desperate need of developer feedback, work, etc. We try to keep this project updated with active Issues in the framework, but that is not, by any means, everything wrong with P. There are a few things you can do as a developer...
Before you do anything, fork your own copy of P. This will prevent code conflicts and allow you to use Pull Requests.
If you'd like to take an existing case from the Issues page, just pick one, read it over, and write the code
in a branch. Typically, we create a branch corresponding to the issue number. If you're working on issue #2, for
example, you might make a branch called
If you think something is wrong or needs to be changed with the framework, make your own Issue on the Issues page. Please be sure to add a detailed description of what is wrong, and what you plan to do to fix it. This will make approving your pull request a lot easier! Like above, work on your change in a branch corresponding to your issue number.
Once you've added a change, please submit a pull request. We'll look over your code, make sure you didn't embed
any bombs or angry demons, and then merge your changes into the
If applicable, please create Unit Tests for your code in the
test directory. If you don't feel comfortable
doing this for some reason, just note it in your issue, and someone else will do it for you if necessary. Also,
you may want to install nodeunit so that you can run the existing unit tests before submitting your pull request.
sudo npm install -g nodeunit
To run the tests:
cd /path/to/pnodeunit test/*
Note: If your code causes unit tests to fail, this will almost certainly result in your Pull Request being rejected. Please at least run the tests before submitting!
Special thanks goes out to these developers for making P possible. You guys are awesome!
Quick Note: Development has been going so fast that I haven't had time to update this list. I am very, very sorry to all the developers I'm
not giving credit for. I encourage everyone to check out the
package.json file, which is a true credits section for everyone's work. Thank
you all so very much for making P a possibility!
- Sencha Labs - Connect Server - https://github.com/senchalabs/connect
- VisionMedia - EJS - https://github.com/visionmedia/ejs
- VisionMedia - Jade - https://github.com/visionmedia/jade
- aheckmann - node-email - https://github.com/aheckmann/node-email
- pvorb - node-md5 - https://github.com/pvorb/node-md5/
- pvorb - sha1 - https://github.com/pvorb/node-sha1/
- gett - mongojs - https://github.com/gett/mongojs
- janl - mustache.js - https://github.com/janl/mustache.js
- broofa - node-uuid - https://github.com/broofa/node-uuid
- LearnBoost - socket.io - https://github.com/LearnBoost/socket.io
- ryanmcgrath - wrench-js - https://github.com/ryanmcgrath/wrench-js
P is released under the MIT License. For more information, please see LICENSE.md