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.
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
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.