This is an open-source Django-based web application designed to streamline project management for teams and organizations. It allows you to manage projects, tasks, clients, employees, positions, and billing all in one place.
- Django: A powerful web framework for building the backend and frontend.
- SQLite: Default database for storing application data.
- Bootstrap: To enhance the UI and make it responsive (optional).
- Python: The core programming language used for development.
- Projects:
- Create and view detailed project information, including title, start/end dates, associated employees, tasks, and bills.
- Clients:
- Manage client details such as name, company, and contact information.
- Employees:
- Add and update employee details and roles.
- Positions:
- Create and manage different positions, including titles, salaries, and job descriptions.
- Jobs:
- Track tasks assigned to projects with relevant notes.
- Billing:
- Manage invoices and associate them with specific projects.
- Dashboard:
Displays all ongoing and completed projects, sorted by status and deadline. - Project Details:
A detailed page for each project, including assigned employees, jobs, and linked bills. - Client Management:
View and edit client information. - Employee Directory:
A comprehensive list of all employees and their respective roles. - Position Management:
Create, view, and edit job positions, including salaries and responsibilities. - Job Tracking:
View and manage all tasks related to projects. - Billing Overview:
List of invoices issued, with links to their corresponding projects.
- Configure the Django project and app structure.
- Create models for Project, Client, Employee, Position, Job, and Bill.
- Implement admin panel functionality for easy data management.
- Set up project CRUD (Create, Read, Update, Delete) functionality.
- Build views and templates for detailed project pages.
- Implement Many-to-Many relationships for employees and projects.
- Add filtering and search functionality for projects.
- Implement position management for employees.
- Create a dashboard to display all projects in a single view.
- Add notifications or alerts for upcoming deadlines.
- Integrate reporting for total costs and overdue bills.
- Add user authentication with different roles (e.g., Admin, Manager, Employee).
- Enable file uploads for projects (e.g., project-related documents).
- Integrate external APIs for financial or calendar services.
- Clone the repository:
git clone https://github.com/your-repository/project-management.git
cd project-management
- Set up the virtual environment:
python -m venv .venv
source .venv/bin/activate # For Windows: .venv\Scripts\activate
pip install -r requirements.txt
- Run migrations:
python manage.py migrate
- Start the development server:
python manage.py runserver
- Access the app:
Open your browser and navigate to http://127.0.0.1:8000/.
Contributions are welcome! Feel free to submit a pull request or report an issue.
If you have any questions or suggestions, reach out to us at [email protected].