A comprehensive Node.js backend system designed specifically for IT undergraduates struggling with career enhancements and finding proper internships. Built with AWS infrastructure for scalability and reliability.
This backend system serves as the foundation for a career-building platform that connects IT undergraduates with internship opportunities, career guidance, and skill development resources. The system is built to handle:
- Student Authentication & Profiles
- Company Registration & Management
- Internship Posting & Applications
- Career Guidance & Mentorship
- Skills Assessment & Tracking
- Real-time Notifications
- π Secure Authentication - JWT-based login/registration
- π€ Profile Management - Skills, education, experience tracking
- π Internship Search - Filter by location, skills, duration
- π Application Management - Track application status
- π Progress Tracking - Career development metrics
- π¬ Mentorship Matching - Connect with industry professionals
- π Skill Assessments - Validate technical competencies
- π’ Company Profiles - Detailed company information
- π Internship Posting - Create and manage internship opportunities
- π₯ Candidate Management - Review and filter applications
- π Analytics Dashboard - Track hiring metrics
- π Notification System - Real-time updates on applications
- π¨βπ« Mentor Profiles - Experience and expertise showcase
- π€ Student Matching - Connect with students based on skills
- π Resource Sharing - Share career guidance materials
- πΌ Career Counseling - Provide personalized advice
- Runtime: Node.js 18+
- Framework: Express.js
- Database: AWS DynamoDB
- Authentication: JWT (JSON Web Tokens)
- File Storage: AWS S3
- Notifications: AWS SNS
- Email Service: AWS SES
- Caching: AWS ElastiCache (Redis)
- API Gateway: AWS API Gateway
- Hosting: AWS Lambda + API Gateway (Serverless)
- DynamoDB - NoSQL database for user data, internships, applications
- S3 - File storage for resumes, company logos, documents
- SNS - Push notifications and email alerts
- SES - Email service for notifications and communications
- ElastiCache - Redis caching for improved performance
- API Gateway - API management and routing
- Lambda - Serverless compute for API endpoints
- CloudWatch - Monitoring and logging
- IAM - Identity and access management
- Node.js 18+ installed
- AWS Account with appropriate permissions
- Git installed
- Basic knowledge of REST APIs
- Understanding of AWS services (DynamoDB, S3, etc.)
git clone https://github.com/yourusername/career-intern-system.git
cd career-intern-systemnpm installcp .env.example .env# Option 1: AWS CLI
aws configure
# Option 2: Environment Variables (see Configuration section)# Create all required DynamoDB tables
npm run setup:database
# Or create individually
node scripts/setup-students-table.js
node scripts/setup-companies-table.js
node scripts/setup-internships-table.js
node scripts/setup-applications-table.js# Development mode
npm run dev
# Production mode
npm start- Sign up at AWS Console
- Complete account verification
# Create user with programmatic access
# Attach policies:
# - AmazonDynamoDBFullAccess
# - AmazonS3FullAccess
# - AmazonSNSFullAccess
# - AmazonSESFullAccessThe system uses multiple DynamoDB tables:
students- Student profiles and authenticationcompanies- Company profiles and detailsinternships- Internship postingsapplications- Internship applicationsmentors- Mentor profilesskills- Skills catalognotifications- User notifications
# Create S3 buckets
aws s3 mb s3://career-system-resumes
aws s3 mb s3://career-system-company-logos
aws s3 mb s3://career-system-documents# Verify your email domain in AWS SES
# Move out of sandbox mode for production# Install Serverless Framework
npm install -g serverless
# Configure serverless.yml
# Deploy to AWS
serverless deploy# Launch EC2 instance
# Install Node.js and dependencies
# Configure PM2 for process management
pm2 start ecosystem.config.js# Build Docker image
docker build -t career-intern-system .
# Push to ECR
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin <account-id>.dkr.ecr.us-east-1.amazonaws.com
docker tag career-intern-system:latest <account-id>.dkr.ecr.us-east-1.amazonaws.com/career-intern-system:latest
docker push <account-id>.dkr.ecr.us-east-1.amazonaws.com/career-intern-system:latest
# Deploy to ECS- API response times
- Error rates
- Database performance
- Memory and CPU usage
- User registration rates
- Application success rates
- Popular internships
- Company engagement
- JWT authentication with refresh tokens
- Rate limiting on API endpoints
- Input validation and sanitization
- File upload security (virus scanning)
- HTTPS enforcement
- CORS configuration
- SQL injection prevention
- XSS protection
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run test # Run tests
npm run lint # Check code quality
npm run format # Format code
npm run migrate # Run database migrations
npm run seed # Seed database with sample data- nodemon - Auto-restart server
- eslint - Code linting
- prettier - Code formatting
- jest - Testing framework
- supertest - API testing
- 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
- Follow ESLint configuration
- Write tests for new features
- Update documentation
- Follow conventional commit messages
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: Wiki
- Issues: GitHub Issues
- Email: [email protected]
- Discord: Join our community
- β Basic authentication system
- β Student and company profiles
- β Internship posting and application
- β Basic search and filtering
- π Mentor system implementation
- π Advanced search with AI
- π Real-time chat system
- π Mobile app development
- π Video interviewing platform
- π Skills assessment tests
- π Career guidance AI
- π Analytics dashboard
- π Machine learning recommendations
- π Blockchain certificates
- π API marketplace
- π International expansion
Made with β€οΈ for IT undergraduates worldwide
Helping students build better careers, one internship at a time.