A peer-to-peer learning platform that connects learners with educators to facilitate skill-based learning through live video sessions, messaging, and interactive classrooms.
-
User Roles: Two types of users – Learners and Educators.
- Learners can search for courses, join classrooms, and engage in live sessions with educators.
- Educators can create classrooms, share their knowledge, and interact with learners.
-
Classrooms: Create and join virtual classrooms to facilitate learning.
-
Live Video Sessions: Conduct live video calls for real-time learning sessions between educators and learners.
-
Messaging: Direct messaging feature within classrooms for discussion and support.
- Backend: Django
- Database: PostgreSQL
- Video Calling: WebRTC, Twilio, or other WebRTC-based libraries
- Cloud Storage: Cloudinary (for image/video storage)
- Frontend: HTML, CSS, JavaScript
- Hosting: Render
- Python 3.8 or higher
- Django 3.2 or higher
- PostgreSQL (for the database)
-
Clone the repository:
git clone https://github.com/yourusername/peer-to-peer-learning-platform.git cd peer-to-peer-learning-platform -
Set up a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install required Python packages:
pip install -r requirements.txt
-
Set up environment variables in
.env:ENVIRONMENT=development DATABASE_URL=postgresql://ps:<your_database_password>@<your_host>/<your_database_name> serverSecret=<your_server_secret> appID=<your_app_id> SECRET_KEY=<your_django_secret_key> CLOUDINARY_URL=cloudinary://<cloud_name>:<api_key>:<api_secret> MEETING_U=<your_meeting_id_here>
-
Run database migrations:
python manage.py migrate
-
Create a superuser (optional):
python manage.py createsuperuser
-
Run the development server:
python manage.py runserver
- Sign up and browse available classrooms.
- Join a classroom of your choice and participate in live video sessions with educators.
- Send and receive messages within the classroom for better collaboration.
- Create a new classroom and specify the skills you're teaching.
- Invite learners to join your classroom and start live sessions.
- Share educational resources and interact with learners in real-time.
Thank you. This project may become a fresh breeze on a quiet morning, a moment of peace in a world full of noise. It’s in these rare, still moments that the true value of what’s meaningful becomes clear. Kindness, like this, is a collective healing that resonates beyond words.