PM (Project Manager)

PM (working title) is a project management website. Its main purpose is to assist groups working on collaborative programming projects in organizing themselves and sharing ideas, files and code.


PM's Welcome page:

I am currently in the process of setting up a live demo. Due to the incomplete nature of the project, it is difficult to publish it in its current state.


Click on an image to enlarge.

PM was created from scratch using HTML/Javascript (with the help of jQuery), PHP, and MySQL. PHP is used server-side to provide access to the MySQL server. jQuery helps with sending Ajax requests to the server to fetch and write information to the database.

PM allows any user to create and administrate a project, inviting others to participate. The project master can promote others to the administrator rank. Administrators can invite and remove members, and are in charge of maintaining any online code, files, or other content added by project members.

A search feature slides into view when a user clicks a magnifying glass on the website banner. The user can then search the entire database for files, messages, or content associated with the current project.

This is an example of searching by content. The user can type in a fragment of code, and the database will be searched to find the exact file where it's located.

PM features an internal email system, which enables users to send messages to one another directly, or to send messages to everyone involved in a particular project. All messages are saved directly in the PM database, so they are right there along with all of the user's projects.

Tasks (currently a work-in-progress) will be one of the most crucial aspects of PM. Their purpose is to allow project members to create tasks that need to be finished in order to achieve progress in a project milestone. Tasks will provide information about their difficulty, and the number of people needed to complete it. Members will be able to accept tasks and provide feedback their on progress. Administrators will be able to assign tasks directly to other members.

With the help of CodeMirror, an open source Javascript code highlighting tool, users can edit and view code for their project directly from within PM. Additionally, PM provides a built-in versioning system, so that users can see a file's history and never lose important parts of their project.

Announcements are short (500 characters or less) messages that can be posted by any project member. Once posted, an announcement will become visible to everyone involved with the project. Administrators can also post critical announcements. Critical announcements appear in red and are also viewable from the project home page.



The website banner changes each month to represent the current season. This particular banner is for November.



Why do this project?
I started this project because I wanted to learn about web development. Having taken a class in Database Systems, I was inspired to learn more about the subject with an actual real-world application. I decided on making a project manager because after searching for one online to use for myself, I realized that none actually provided all of the features I wished they would have. Hence, I began making a project manager that would include all of the features that I would actually want to use.

What's to come?
There is still a lot to do, and I plan to work on this project whenever I can spare the time. My first priority is to finish implementing all of the features that I envisioned PM having, including an online file directory for uploading files. Another idea was to implement a blog system, where project members and administrators will be able to publish certain information to a public blog right from within the project management website in order to keep customers or followers of the project up-to-date with non-sensitive information with ease.






Back to Top