Skills as currency — a community marketplace that makes quality learning accessible.
LearnVerse is a community-driven platform (associated with Simon Fraser University) where people trade skills instead of cash. It's built to lower financial barriers to education by letting users offer and request lessons, connect through real-time chat, and confirm skill-exchange transactions. We're running on a React.js frontend + Firebase backend and are integrating Azure Cognitive Services for real-time translation and voice capabilities.
- Skill-exchange listings: create, request, confirm
- Real-time chat and notifications (Firebase)
- Reputation & transaction records to build trust
- Planned: Azure Cognitive Services for live text/speech translation to break language barriers
- Frontend: React.js (component-driven)
- Backend: Firebase (Authentication, Firestore, Realtime features, Cloud Functions)
- Planned integrations: Azure Cognitive Services (Text Translation, Speech-to-Text, Text-to-Speech)
- Hosting/CI: Firebase Hosting (recommended GitHub Actions for CI)
- React client handles UI, routing, and local state
- Firebase Auth secures sign-in (OAuth / email)
- Firestore stores
users,posts,chats,transactions - Cloud Functions implement server-side logic (matching, notifications, translation proxies)
- Azure Cognitive Services will be accessed from Cloud Functions (server-side) for secure translation and voice features
users— profile, offered skills, wanted skills, reputationposts— skill listings and session detailschats— real-time message threads (translation layer applies here)transactions— completed exchanges, ratings, timestamps
Minimal local setup — adapt to your environment.
git clone <repo-url>
cd learnversenpm install
# or
yarn- Create a Firebase project
- Enable Auth, Firestore, and Cloud Functions
- Add a firebaseConfig object to
.env.local(see example below)
Create a .env.local file in your project root:
VITE_FIREBASE_API_KEY=your_api_key_here
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_AZURE_TRANSLATOR_KEY=your_azure_key
VITE_AZURE_TRANSLATOR_ENDPOINT=your_azure_endpoint
VITE_AZURE_TRANSLATOR_REGION=your_azure_regionnpm start
# or
yarn startnpm run build
firebase deploy --only hosting- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request