Skip to content

rajgupta2/SkillHub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

60 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ SkillHub Frontend

A modern Next.js frontend powering the SkillHub platform. It provides an intuitive user interface for students to discover learning resources, tutorials, articles, colleges, and career opportunities while seamlessly interacting with the SkillHub Backend APIs.


✨ Features

  • πŸŽ“ Modern Student Dashboard
  • πŸ” Authentication & Authorization
  • πŸ‘€ User Profile Management
  • 🏫 College Profiles
  • πŸ“š Study Resources
  • πŸ“ Articles & Blogs
  • πŸŽ₯ Tutorials & Courses
  • πŸ” Advanced Search & Filtering
  • πŸ“± Responsive Design
  • ⚑ Server-Side Rendering (SSR)
  • πŸ“ˆ SEO Optimized
  • πŸ”— REST API Integration
  • 🐳 Docker Support

πŸ› οΈ Tech Stack

Category Technology
Framework Next.js
Language TypeScript
UI Library React
Styling Tailwind CSS
Components shadcn/ui
Icons Lucide React
Forms React Hook Form
Deployment Vercel
Containerization Docker

πŸ“‚ Project Structure

skillhub-frontend/
β”‚
β”œβ”€β”€ public/
β”‚
β”œβ”€β”€ app/
β”œβ”€β”€ components/
β”œβ”€β”€ package.json
β”œβ”€β”€ next.config.ts
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ .dockerignore
β”œβ”€β”€ .gitignore
β”œβ”€β”€ .env.local
└── README.md

βš™οΈ Installation

Clone the repository

git clone https://github.com/rajgupta2/skillhub.git

Navigate to the project

cd skillhub

Install dependencies

npm install

πŸ”‘ Environment Variables

Create a .env.local file in the project root.

NEXT_PUBLIC_API_URL=http://localhost:5000
NEXT_PUBLIC_EMAIL=skillhub.student@gmail.com
NEXT_PUBLIC_SITE_URL=https://skillhub-student.vercel.app
NODE_ENV=production
#The jwt secret should be same in backend api and here.
JWT_SECRET=your-jwt-secret

▢️ Running the Application

Choose one of the following methods.


πŸš€ Option 1: Run Without Docker

Start the development server

npm run dev

The application will be available at

http://localhost:3000

Build for production

npm run build

Start production server

npm start

🐳 Option 2: Run With Docker

Build the Docker image

docker build -t skillhub-frontend .

Run the Docker container

docker run -d --name skillhub-frontend -p 3000:3000 skillhub-frontend

The application will be available at

http://localhost:3000

πŸ“œ Available Scripts

Command Description
npm run dev Start development server
npm run build Build production application
npm start Start production server

🌐 Backend Configuration

The frontend communicates with the SkillHub Backend through REST APIs.

Configure the backend URL using:

NEXT_PUBLIC_API_URL=http://localhost:5000

πŸ“± Responsive Design

The application is fully responsive and optimized for:

  • πŸ’» Desktop
  • πŸ’Ό Laptop
  • πŸ“± Mobile
  • πŸ“Ÿ Tablet

πŸš€ Performance

  • ⚑ Next.js App Router
  • πŸ–₯️ Server Components
  • πŸ“¦ Code Splitting
  • πŸ–ΌοΈ Image Optimization
  • πŸ“ˆ SEO Optimized
  • βš™οΈ Lazy Loading
  • πŸ”„ Dynamic Imports

🎨 UI Components

The frontend uses:

  • Tailwind CSS
  • shadcn/ui
  • Lucide Icons
  • Responsive Layouts

πŸ”’ Authentication

Authentication is handled using JWT tokens issued by the SkillHub Backend.

Protected pages require a valid access token.


πŸš€ Deployment

This frontend can be deployed on:

  • Vercel ⭐ (Recommended)
  • Docker
  • AWS EC2
  • Netlify
  • Azure Static Web Apps
  • DigitalOcean App Platform

❓ Troubleshooting

Dependencies not installed

npm install

Build failed

npm run build

Docker container not starting

docker logs skillhub-frontend

Port already in use

docker run -p 8080:3000 skillhub-frontend

Open

http://localhost:8080

πŸ“ˆ Future Enhancements

  • πŸ€– AI Study Assistant
  • πŸ“Š Student Analytics Dashboard
  • πŸ’¬ Real-time Community Chat
  • πŸ”” Push Notifications
  • 🌍 Multi-language Support
  • πŸ“± Progressive Web App (PWA)

🀝 Contributing

Contributions are welcome!

  1. Fork the repository.

  2. Create a feature branch.

git checkout -b feature/my-feature
  1. Commit your changes.
git commit -m "Add my feature"
  1. Push your branch.
git push origin feature/my-feature
  1. Open a Pull Request.

πŸ”— Related Repositories


πŸ“„ License

This project is proprietary software.

  • Copyright (c) 2026 Raj Gupta
  • All rights reserved.

The source code is provided for viewing and educational purposes only.


πŸ‘¨β€πŸ’» Author

Raj Gupta


⭐ Support

If you found this project helpful, consider giving it a ⭐ Star on GitHub.

It helps others discover the project and motivates further development.


About

Skillhub is a learning management platform and It provides an intuitive user interface for students to discover learning resources, tutorials, articles, colleges, and career opportunities while seamlessly interacting with the SkillHub Backend APIs.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages