- Project Overview β¨
- Installation π οΈ
- Project Structure π»
- Technologies π
- Usage π₯
- Contribution π€
- Authors π©βπ»
- Demo π
Pair Connect is a platform where developers can connect for pair programming sessions based on their skills, including stack, experience level, and programming languages, as well as project preferences.
The backend is built with Django and Django REST Framework, while the React-based frontend integrates the API to display session suggestions tailored to the user's skills and preferences.
- User registration and authentication with Djoser and JWT.
- Profile management, including skills such as programming languages, stack, and experience level.
- Session recommendations based on the user's profile (stack, level, or programming languages).
- Creation and management of projects and pair programming sessions.
- Integration of Cloudinary for profile image storage.
- Email notification system to stay updated on sessions.
-
Clone the backend repository:
git clone https://github.com/your-username/pair_connect_back
-
Create and activate a virtual environment:
cd pair_connect_back python -m venv env source env/bin/activate # On Windows use: env\Scripts\activate
-
Install the dependencies:
pip install -r requirements.txt
-
Set up your PostgreSQL database and update the credentials in the
settings.pyfile. -
Run the migrations and start the server:
python manage.py makemigrations python manage.py migrate python manage.py runserver
With these steps, the backend will be up and running locally, ready to handle user authentication, session management, and other core functionalities through the API.
-
Clone the frontend repository:
git clone https://github.com/your-username/pair_connect_front
-
Navigate into the project directory:
cd pair_connect_front -
Install the dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and navigate to the local development server, typically available at:
http://localhost:5173
With these steps, the frontend will be up and running locally, connecting with the backend API for session suggestions and other functionalities.
The project follows a standard structure for Django applications with modular organization to handle user profiles, sessions, and other features.
/
βββ pair_connect
β βββ projects/
β β βββ migrations/
β β βββ models.py
β β βββ serializers.py
β β βββ views.py
β β βββ ...
β βββ skills/
β β βββ migrations/
β β βββ models.py
β β βββ serializers.py
β β βββ views.py
β β βββ ...
β βββ users/
β β βββ migrations/
β β βββ models.py
β β βββ serializers.py
β β βββ views.py
β β βββ ...
β βββ manage.py
β βββ requirements.txt
β βββ README.md
The project follows a standard structure for React applications, with a modular organization to manage components, pages, and core features like session handling and user profiles.
/
βββ public/
β βββ index.html
β βββ ...
βββ src/
β βββ assets/
β β βββ images/
β βββ components/
β β βββ about/
β β β βββ ...
β β βββ auth/
β β β βββ ...
β β βββ icons/
β β β βββ ...
β β βββ .../
β βββ hooks/
β β βββ ...
β βββ pages/
β β βββ AboutUsPage.jsx
β β βββ ActivationPage.jsx
β β βββ ForgotPasswordPage.jsx
β β βββ HomePage.jsx
β β βββ ...
β βββ services/
β β βββ authService.jsx
β β βββ sessionService.jsx
β β βββ ...
β βββ styles/
β β βββ cosmic-background.css
β β βββ navbar-profile.css
β β βββ ...
β βββ utils/
β β βββ findMatchedValues.jsx
β β βββ sessionPagination.jsx
β β βββ ...
β βββ wrappers/
β β βββ HomePageWrapper.jsx
β βββ App.jsx
β βββ index.css
β βββ main.jsx
β βββ tests
β βββ ...
β βββ tailwind.config.js
The backend of Pair Connect is built using the following key technologies:
- Python 3.x: A high-level programming language that serves as the core of the backend.
- Django 5.1.1: A high-level Python web framework that promotes rapid development and clean, pragmatic design.
- Django REST Framework 3.15.2: A powerful and flexible toolkit for building Web APIs.
- PostgreSQL 15: A robust, open-source relational database management system used to store data.
- Djoser 2.2.3: Provides a set of Django Rest Framework views to handle user authentication.
- Cloudinary 1.41.0: A cloud-based service for managing images and videos.
- SimpleJWT 5.3.1: A JSON Web Token authentication backend for Django REST Framework.
- Psycopg2 2.9.9: The most popular PostgreSQL adapter for Python, essential for database connectivity.
- Pytest 8.3.3: A robust testing framework for Python.
These key technologies provide a solid foundation for the backend, ensuring secure authentication, efficient database management, and a robust API for Pair Connect.
The frontend of Pair Connect is built using the following key technologies:
- React 18.3.1: A JavaScript library for building user interfaces.
- React Router DOM 6.26.2: A library for handling routing in React applications.
- Tailwind CSS 3.4.12: A utility-first CSS framework for styling.
- Axios 1.7.7: A promise-based HTTP client for making API requests.
- React Hook Form 7.53.0: A performant, flexible form library for handling forms in React.
- Radix UI: A set of accessible, unstyled components for building high-quality web interfaces.
- Vitest 2.1.1: A blazing-fast unit testing framework for Vite and other frontend projects.
- Vite 5.4.8: A next-generation frontend build tool.
These core technologies provide the foundation for building a responsive, modular, and fast frontend for Pair Connect, ensuring efficient development and user experience.
To start the backend server, make sure the virtual environment is activated, and run the following command:
python manage.py runserverTo start the frontend server, run the following command:
npm run devFork the repository.
Create a new branch for your feature:
git checkout -b feature/new-featureCommit your changes:
git commit -m 'Add new feature'Push your branch:
git push origin feature/new-featureOpen a pull request.
This project was created by:
- Helena LΓ³pez (https://github.com/helopgom)
- Esther P. Sarasua (https://github.com/Fire-Fairy84)
- Valentina Toni (https://github.com/ItalianCookieMonster)
- Lynn Poh (https://github.com/Dpoetess)
- Paola Franco (https://github.com/0795PAO)
- Jessica Arroyo (https://github.com/jess-ar)
Here are some screenshots of the Pair Connect application:
- Home Page.
- Pair Programming Page.
- Profile Page.
- Sessions Page.
- Session Details Page.




