http://nextstep-frontend-tharindu.s3-website-us-east-1.amazonaws.com/
A modern full-stack application connecting students with industry experts for career guidance and skill development
- β¨ Features
- ποΈ Tech Stack
- π Quick Start
- π Project Structure
- π§ Development Setup
- π API Documentation
- π€ Contributing
- π License
- π Smart Career Assessment - AI-powered career path recommendations
- π Skill Tracking - Monitor your learning progress and achievements
- π Gamification - Earn points, level up, and compete on leaderboards
- πΌ Industry Connections - Connect with real industry professionals
- π Curated Learning - Access to relevant courses and resources
- π₯ Student Discovery - Find and mentor promising students
- π― Talent Pipeline - Build relationships with future employees
- π Impact Tracking - See your influence on student career paths
- π Professional Branding - Showcase your expertise and company
- π Secure Authentication - JWT-based user authentication
- π± Responsive Design - Works perfectly on all devices
- β‘ Fast Performance - Optimized with modern web technologies
- π Real-time Updates - Live data synchronization
- π API Documentation - Comprehensive Swagger documentation
- Framework: ASP.NET Core 9.0
- Database: SQLite with Entity Framework Core
- Authentication: JWT (JSON Web Tokens)
- Documentation: Swagger/OpenAPI
- Architecture: Clean Architecture with Dependency Injection
- Framework: React 18 with TypeScript
- Build Tool: Vite (Lightning fast HMR)
- UI Framework: Tailwind CSS + shadcn/ui components
- State Management: React Context + TanStack Query
- Routing: React Router v6
- HTTP Client: Native Fetch API
- Package Manager: npm
- Code Quality: ESLint + Prettier
- Version Control: Git with conventional commits
- API Testing: Swagger UI + REST Client
- Node.js (v18 or higher) - Download here
- .NET SDK (v9.0 or higher) - Download here
- Git - Download here
git clone https://github.com/Team-BISHOP/nextstep.git
cd nextstep# Navigate to backend directory
cd backend
# Restore dependencies
dotnet restore
# Start the backend server
dotnet runBackend will be available at:
- API:
https://localhost:7010 - Swagger Docs:
https://localhost:7010/swagger
# Navigate to frontend directory (in a new terminal)
cd frontend
# Install dependencies
npm install
# Start the development server
npm run devFrontend will be available at:
- App:
http://localhost:8080
- Visit
http://localhost:8080/auth - Create a new account (Student or Industry Expert)
- Login with your credentials
- Explore the platform!
| Environment | Web Server | Config File | Status |
|---|---|---|---|
| S3 Deployment | AWS S3 Static Hosting | S3 website config |
β Working |
| Docker Compose | nginx | π© nginx.conf |
β Now Fixed |
| Local Dev | Vite dev server | β‘ vite.config.ts |
β Working |
{
"ConnectionStrings": {
"DefaultConnection": "Data Source=nextstep_dev.db"
},
"JwtSettings": {
"SecretKey": "your-super-secret-key-at-least-32-characters",
"Issuer": "NextStepAPI",
"Audience": "NextStepClient",
"ExpiryInHours": 24
}
}VITE_API_URL=https://localhost:7010/api# Restore dependencies
dotnet restore
# Run in development mode
dotnet run
# Run with hot reload
dotnet watch run
# Install CLI tool for Entity Framework Core
dotnet tool install --global dotnet-ef
# Create new migration
dotnet ef migrations add MigrationName --output-dir Data/Migrations
# Update database
dotnet ef database update
# Run tests
dotnet test# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
# Run linting
npm run lint
# Fix linting issues
npm run lint:fix| Method | Endpoint | Description |
|---|---|---|
| POST | /api/Auth/register |
Create new user account |
| POST | /api/Auth/login |
Authenticate user |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/Courses |
Get all courses |
| GET | /api/Courses/{courseId} |
Get course by ID |
| POST | /api/Courses/{courseId}/enroll |
Enroll in a course |
| PUT | /api/Courses/{courseId}/progress |
Update progress in a course |
| POST | /api/Courses/{courseId}/complete |
Mark course as complete |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/Leaderboard |
Get global leaderboard |
| GET | /api/Leaderboard/my-rank |
Get logged-in user's rank |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/Profiles/me |
Get your profile |
| PUT | /api/Profiles/me |
Update your profile |
| GET | /api/Profiles/{userId}/public |
Get public profile of a user |
| GET | /api/Profiles/students |
Get list of student profiles |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/Projects |
Get all projects |
| POST | /api/Projects |
Create new project |
| GET | /api/Projects/{projectId} |
Get project by ID |
| PUT | /api/Projects/{projectId} |
Update project by ID |
| DELETE | /api/Projects/{projectId} |
Delete project by ID |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/Subscription/subscribe |
Subscribe to a service |
| POST | /api/Subscription/unsubscribe |
Unsubscribe from a service |
Visit https://localhost:7010/swagger while the backend is running to explore the full Swagger-based API documentation.
We welcome contributions from the community!
- Backend: Follow C# coding conventions
- Frontend: ESLint + Prettier configurations included
- Database: Use Entity Framework migrations for schema changes
Access to fetch has been blocked by CORS policy
Solution: Ensure backend is running and CORS is configured for your frontend URL.
SQLite Error 1: 'no such table: Users'
Solution: Run dotnet ef database update in the backend directory.
Failed to bind to address https://localhost:7010
Solution: Kill the process using the port or change the port in launchSettings.json.
- User authentication system
- Basic frontend structure
- API documentation
- User profile management
- Career assessment quiz
- Student-expert matching
- Learning path recommendations
- Progress tracking
- Gamification system
- Real-time chat
- Mobile app
This project is licensed under the Apache License - see the LICENSE file for details.
- shadcn/ui - Beautiful UI components
- Tailwind CSS - Utility-first CSS framework
- ASP.NET Core - High-performance web framework
- React - A JavaScript library for building user interfaces
Made with β€οΈ by the NextStep Team
β Star us on GitHub if this project helped you!