Learnlink is a comprehensive English learning platform built with modern web technologies. Students can access courses, participate in community discussions, track their learning progress, and connect with certified instructors. The platform features interactive lessons, real-time chat, progress analytics, and a vibrant learning community.
- โ๏ธ Backend: NestJS (TypeScript)
- ๐ Frontend: Angular 18+ (TypeScript)
- ๐ณ Docker: For containerized development and deployment
- ๐ฌ Email integration: Course notifications and progress updates
- ๐ฌ Real-time chat: Community discussions and instructor support
LearnLink-english-platform/
โ
โโโ frontend/ # Angular frontend application
โ โโโ src/
โ โ โโโ app/
โ โ โ โโโ components/
โ โ โ โ โโโ landing/
โ โ โ โ โโโ courses/
โ โ โ โ โโโ community/
โ โ โ โ โโโ shared/
โ โ โ โโโ services/
โ โ โ โโโ models/
โ โ โ โโโ guards/
โ โ โโโ assets/
โ โ โ โโโ images/
โ โ โ โโโ styles/
โ โ โโโ environments/
โ โโโ angular.json
โ โโโ tsconfig.json
โ โโโ Dockerfile
โ
โโโ backend/ # NestJS backend API
โ โโโ src/
โ โ โโโ modules/
โ โ โ โโโ auth/
โ โ โ โโโ users/
โ โ โ โโโ courses/
โ โ โ โโโ community/
โ โ โ โโโ progress/
โ โ โโโ common/
โ โ โ โโโ guards/
โ โ โ โโโ decorators/
โ โ โ โโโ pipes/
โ โ โโโ database/
โ โโโ test/
โ โโโ Dockerfile
โ โโโ package.json
โ
โโโ .gitignore
โโโ docker-compose.yml
โโโ README.md
| Name | Role & Branch | Task Description |
|---|---|---|
| [Group 1] | feature/lead-coordination |
Project coordination, Docker setup, CI/CD pipeline |
| [Alex Muhoro] | feature/landing-page |
Landing page, hero section, testimonials UI |
| [Elizabeth ] | feature/courses-ui |
Course catalog, course detail pages, enrollment UI |
| [Jimmy Kimunyi] | feature/auth-api |
Authentication, user management, JWT implementation |
| [Jimmy Kimunyi] | feature/courses-api |
Course management, progress tracking, analytics API |
| [Group 1] | feature/community-chat |
Community features, real-time chat, forums |
Ensure you have Docker installed: ๐ Download Docker
# Navigate to backend directory
cd backend
# Install dependencies
npm install
# Build backend image
docker build -t LearnLink-backend .
# Run backend container
docker run -p 3000:3000 LearnLink-backendAPI will be available at: http://localhost:3000
# Navigate to frontend directory
cd frontend
# Install dependencies
npm install
# Build frontend image
docker build -t LearnLink-frontend .
# Run frontend container
docker run -p 4200:4200 LearnLink-frontendFrontend will be available at: http://localhost:4200
# Navigate to project root
cd LearnLink-english-platform
# Start all services
docker-compose up --build
# Run in detached mode
docker-compose up -d --build
# Stop all services
docker-compose downServices URLs:
- Frontend: http://localhost:4200
- Backend API: http://localhost:3000
- Database: http://localhost:5432
git clone <REPO_URL>
cd LearnLink-english-platformgit checkout -b feature/<your-name>-<your-area> origin/feature/<your-name>-<your-area>Examples:
git checkout -b feature/john-landing-page origin/feature/john-landing-page
git checkout -b feature/sarah-auth-api origin/feature/sarah-auth-api
git checkout -b feature/mike-courses-ui origin/feature/mike-courses-ui# Pull latest changes from dev
git pull origin dev
# Make your changes and stage them
git add .
# Commit with descriptive message
git commit -m "feat: add responsive hero section to landing page"
# Push to your feature branch
git push origin feature/<your-name>-<your-area>- Go to GitHub repository
- Click "New Pull Request"
- Select:
feature/<your-branch>โdev - Add clear description of changes
- Request review from team members
- Wait for approval before merging
cd frontend
# Development server
ng serve
# Build for production
ng build --prod
# Run tests
ng test
# Generate component
ng generate component components/course-card
# Generate service
ng generate service services/coursecd backend
# Development server
npm run start:dev
# Build for production
npm run build
# Run tests
npm run test
# Generate module
nest generate module courses
# Generate controller
nest generate controller courses
# Generate service
nest generate service courses- Landing Page: Hero section, course overview, instructor profiles
- Course Catalog: Browse and filter available English courses
- User Authentication: Registration, login, profile management
- Course Enrollment: Secure payment integration and enrollment
- Progress Tracking: Visual progress indicators and analytics
- Community Forum: Discussion boards and peer interaction
- Real-time Chat: Live chat with instructors and students
- Adaptive Learning: Personalized course recommendations
- Video Lessons: Integrated video player with subtitles
- Quiz System: Interactive assessments and instant feedback
- Certificates: Downloadable completion certificates
- Mobile App: Progressive Web App (PWA) support
- Multi-language: Support for multiple interface languages
- Code Standards: Follow Angular and NestJS best practices
- Component Design: Keep components small and reusable
- API Design: Use RESTful conventions and proper HTTP status codes
- Testing: Write unit tests for critical functionality
- Documentation: Comment complex logic and update README
- Responsive Design: Ensure mobile-first approach
- Performance: Optimize images and implement lazy loading
- What did you work on yesterday?
- What are you working on today?
- Any blockers or challenges?
- Demo completed features
- Code review sessions
- Plan next week's tasks
- Slack/Discord: Daily communication
- GitHub Issues: Bug reports and feature requests
- Pull Requests: Code reviews and discussions
# Backend (.env)
DATABASE_URL=postgresql://user:password@localhost:5432/LearnLink_db
JWT_SECRET=your-super-secret-key
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=your-email@gmail.com
EMAIL_PASS=your-app-password
# Frontend (environment.ts)
API_URL=http://localhost:3000
PRODUCTION=false- Primary: #20B2AA (Turquoise)
- Secondary: #4A90E2 (Blue)
- Accent: #F39C12 (Orange)
- Success: #27AE60 (Green)
- Warning: #F1C40F (Yellow)
- Error: #E74C3C (Red)
- Headings: Inter, sans-serif
- Body: Open Sans, sans-serif
- Code: Fira Code, monospace
๐ "Education is the passport to the future, for tomorrow belongs to those who prepare for it today." โ Malcolm X
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request