TeamCollab is building a robust project management tool designed to enhance team collaboration on various projects. The API is a crucial component of this tool, providing seamless integration with the front-end web and mobile applications. This is a Django-based project management application that allows users to manage projects, tasks, and team members. The application includes user authentication, project and task management, role-based access control, and commenting features.
- User authentication and registration
- Project creation and management
- Task creation, assignment, and tracking
- Role-based access control for project members (admin and member roles)
- Commenting on tasks
- Django (4.2, 5.0)
- Python (3.8, 3.9, 3.10, 3.11, 3.12)
git clone https://github.com/anmabrar/teamCollab.git
cd teamCollab
If you don't have pipenv installed, you can install it using pip:
pip install pipenv
Use pipenv to install the required dependencies:
pipenv install
Activate the virtual environment created by pipenv:
pipenv shell
Run the following command to apply database migrations:
python manage.py migrate
Create a superuser to access the Django admin interface:
python manage.py createsuperuser
Follow the prompts to set up the superuser credentials.
Start the Django development server:
python manage.py runserver
- Access the admin interface at http://127.0.0.1:8000/admin/ using the superuser credentials.
- Create users, projects, and tasks through the admin interface or implement the frontend as needed.
If you want to contribute to this project, please fork the repository and submit a pull request. We welcome all improvements, whether they are code improvements, bug fixes, or documentation enhancements.
http://127.0.0.1:8000/swagger/
http://127.0.0.1:8000/redoc/
- Database Configuration: If you need to use a different database (other than SQLite), make sure to update the
DATABASES
setting in thesettings.py
file. - Static Files: If you are serving static files, ensure you have set up the static files directory and collected static files using:
python manage.py collectstatic
- Django Rest Framework
- Simple JWT
- drf-nested-routers
- Swagger