Developing a collaboration platform for software developers to find collaborators for open-source or freelance projects, enabling networking and teamwork on various development tasks. The platform includes a built-in messaging system that allows for direct communication through an inbox feature.
The objective of this project is to provide a dedicated niche for developers to connect with like-minded individuals, form teams, and collaborate on diverse development tasks.
User Profiles: Developers can create detailed profiles describing and showcasing their skills, experience, and interests.
Project Listings: Users can post open-source or freelance projects, detailing the requirements, goals and request collobartion.
Search Functionality: Search for developers or projects based on skills (tags), name, and other criteria.
Direct Messaging: Built-in inbox for seamless communication between users.
Team Management: Collaborators can form and manage teams for projects.
Backend: Django (Python) main framework used for development.
Django Rest Framework: utilizing RESTFUL APIs to make requests and allow for seamless integrations with various clients such as web. The project also allows flexibility for opensource integrations such as integrating with mobile clients.
Frontend: HTML, CSS, JavaScript
Database: SQLite (for development), MySQL (for production)
Authentication: Django’s built-in authentication system with additional features for user profiles. Utilizing permissions DjangoRestFrameworks's restapi authentication such as IsAuthenticated.
API Testing Tool: utilizing Postman for testing and documenting the project's API endpoints
Deployment: Hosted on pythonanywhere: https://freelancereddy.pythonanywhere.com
Python 3.x pip Virtual environment (optional but recommended)
- clone the respository
git cone https://github.com/EdwinKingori/DevSearch.git
cd devsearch
- Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Apply database migrations:
python3 manage.py migrate
- Create super user to access the admin panel
python3 manage.py createsuperuser
- Run the development server:
python3 manage.py runserver
Contributions are welcome! To contribute:
Fork the repository.
Create a new branch:
git checkout -b feature/your-feature-name
Commit your changes:
git commit -m "Add your feature description"
Push to the branch:
git push origin feature/your-feature-name
Open a pull request.
For any questions, critics, suggestions, or feedback, please contact:
Email: eddmunyiri@gmail.com
GitHub: https://github.com/EdwinKingori/



