Skip to content

Latest commit

Β 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SheLearn πŸŽ“βœ¨

An AI-powered career guidance and peer skill exchange platform for women in engineering.


πŸ“Œ Problem Statement

Female engineering students often face a dual challenge: they lack structured guidance on where to begin learning a new field, and they have limited access to informal peer networks where practical skills are shared. Existing platforms are either too formal, not community-driven, or fail to address the specific needs of women in STEM environments.

This gap leaves many talented students feeling lost β€” unsure of what to learn first, unable to find peers who can help, and without a sense of community or recognition for their growth.


πŸ’‘ Solution Overview

SheLearn is a full-stack web application that combines AI-powered learning roadmap generation with a peer-to-peer skill exchange system β€” all built specifically for women in engineering.

A student can:

  1. Enter any field she wants to learn (e.g. Cybersecurity, AI/ML, Web Development)
  2. Receive an AI-generated, milestone-based learning roadmap with curated free resources (YouTube videos, courses, articles) and popular certificate course suggestions
  3. Sign up and optionally list skills she can teach and skills she wants to learn
  4. Be matched with real peers from the community who can teach her the next skill she needs
  5. Book 1-on-1 sessions with peers
  6. Earn badges as she teaches, learns, and grows with the community

SheLearn doesn't just connect students β€” it empowers them with a clear path forward and a community to grow with.


πŸ› οΈ Technologies Used

Frontend

Technology Purpose Evidence
React.js (Create React App) UI framework and build tool frontend/package.json β†’ "react-scripts"
React Router DOM Client-side page navigation Routes defined in frontend/src/App.js
Inline JS styling (CSS-in-JS) Component styling Used throughout frontend/src/pages/ and frontend/src/components/

Backend

Technology Purpose Evidence
Node.js + Express.js REST API server backend/server.js
MongoDB + Mongoose Database and ODM backend/models/
JSON Web Tokens (JWT) User authentication backend/middleware/auth.js
bcryptjs Password hashing backend/controllers/authController.js
dotenv Environment variable management backend/.env (not committed)
cors Cross-origin requests between Vercel and Railway backend/server.js

AI Integration

Technology Purpose Evidence
Anthropic Claude API Learning roadmap + certificate course generation backend/controllers/aiController.js

Deployment

Service Purpose
Vercel Frontend hosting
Railway Backend hosting
MongoDB Atlas Cloud database

πŸ—οΈ Architectural Diagram

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        USER (Browser)                           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚  HTTPS
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                FRONTEND β€” React.js (Create React App)           β”‚
β”‚                      Hosted on Vercel                           β”‚
β”‚                                                                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚   Home   β”‚ β”‚  SignUp  β”‚ β”‚   Login    β”‚ β”‚ Learning Tracks β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                       β”‚
β”‚  β”‚  Peers   β”‚ β”‚ Profile  β”‚ β”‚   About    β”‚                       β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚  REST API (fetch)
                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              BACKEND β€” Node.js + Express.js                     β”‚
β”‚                      Hosted on Railway                          β”‚
β”‚                                                                 β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ Auth Routes β”‚  β”‚ Peer Routes  β”‚  β”‚  Session Routes      β”‚   β”‚
β”‚  β”‚ /api/auth   β”‚  β”‚ /api/peers   β”‚  β”‚  /api/sessions       β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚         β”‚                β”‚                      β”‚               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚     Mongoose ODM                                          β”‚   β”‚
β”‚  β”‚  (Models: User, Session)                                  β”‚   β”‚
β”‚  β”‚  + Badge award logic (backend/utils/badges.js)            β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚  Mongoose connection
                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  MongoDB Atlas (Cloud Database)                  β”‚
β”‚                                                                 β”‚
β”‚             Collections: users Β· sessions                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

✨ Key Features

πŸ€– AI-Powered Learning Tracks

  • Enter any field (Cybersecurity, AI/ML, Web Dev, Networking, etc.) or pick a popular one
  • Choose your current level (complete beginner, some basics, intermediate)
  • AI generates a structured, milestone-based roadmap with free YouTube videos, courses, and articles
  • Includes a list of popular certificate courses relevant to the chosen field
  • Peer suggestions appear at key milestones to encourage practice with a real person

πŸ‘©β€πŸ’» Peer Skill Exchange

  • During sign-up, students can optionally list skills they can teach and skills they want to learn
  • Students choose whether their card appears on the Find Peers page
  • All peer cards are generated dynamically from real signup data in MongoDB β€” nothing is hardcoded
  • Browse and filter peers by skill category and availability

πŸ“… Session Booking

  • Book 1-on-1 sessions with peers β€” choose a topic and time slot
  • Booking automatically updates each user's session counters

πŸ† Badges & Recognition

  • Badges are awarded automatically based on real activity (first session booked, first session taught, 5 sessions taught, profile completed, etc.)
  • Badges are visible on the user's Profile page and as small icons on their Peer card

πŸ” Secure Authentication

  • JWT-based user registration and login
  • Passwords hashed with bcrypt
  • Protected routes for authenticated actions (e.g. booking a session)

πŸ“± Responsive Design

  • Fully responsive across desktop, tablet, and mobile

πŸ“ Project Structure

sheLearn/
β”œβ”€β”€ frontend/                   # React.js application (Create React App)
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/         # Reusable UI components (NavigationBar, BadgeComponents, etc.)
β”‚   β”‚   β”œβ”€β”€ pages/               # Page components (Home, SignUp, Login, Peers, Profile, About, etc.)
β”‚   β”‚   β”œβ”€β”€ context/              # Auth context
β”‚   β”‚   β”œβ”€β”€ api.js                # Central API URL config (REACT_APP_API_URL)
β”‚   β”‚   └── App.js                # Route definitions
β”‚   └── package.json
β”‚
β”œβ”€β”€ backend/                    # Node.js + Express API
β”‚   β”œβ”€β”€ controllers/            # Route logic
β”‚   β”‚   β”œβ”€β”€ authController.js
β”‚   β”‚   β”œβ”€β”€ peerController.js
β”‚   β”‚   └── sessionController.js
β”‚   β”œβ”€β”€ models/                 # Mongoose schemas
β”‚   β”‚   β”œβ”€β”€ User.js
β”‚   β”‚   └── Session.js
β”‚   β”œβ”€β”€ routes/                 # Express routes
β”‚   β”œβ”€β”€ middleware/             # JWT auth middleware
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   └── badges.js           # Badge definitions and award logic
β”‚   β”œβ”€β”€ server.js               # Entry point
β”‚   └── package.json
β”‚
└── README.md

πŸš€ Getting Started (Local Setup)

Prerequisites

  • Node.js v20+
  • MongoDB Atlas account
  • Anthropic API key

1. Clone the repository

git clone https://github.com/tanuri2002/sheLearn.git
cd sheLearn

2. Backend setup

cd backend
npm install

Create a .env file:

PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
ANTHROPIC_API_KEY=your_anthropic_api_key
npm run dev

3. Frontend setup

cd ../frontend
npm install
npm start

Visit http://localhost:3000 to view the app.


🌐 Live Deployment


πŸ‘©β€πŸ’» Developer

Tanuri Bawanya Computer Engineering, University of Ruhuna DesignHer 2.0 Competition β€” Faculty of Engineering


SheLearn β€” Learn from her. Grow together.

About

An AI-powered peer skill exchange platform for women in engineering. Get personalized learning roadmaps, connect with peers, book 1-on-1 sessions, and grow together.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages