SkillSphere is a premium, full-stack recruitment and skill assessment platform built with Django. It bridges the gap between talented candidates and top-tier recruiters by integrating automated skill verification, job matching, and streamlined interview scheduling into a single, cohesive ecosystem.
- Dynamic Profiles: Build comprehensive profiles detailing education, specialized sectors (e.g., Fullstack, Mobile, DevOps), and experience.
- Skill Assessments & Quizzes: Prove your expertise through automated assessments. The platform features an intelligent scoring system with penalty tracking and limited attempts to prevent fraud.
- Certificate Verification: Upload external certificates for admin verification to bolster your profile.
- Job Applications: Apply for jobs with a single click and track application status (Applied, Shortlisted, Offered, Hired).
- Interview Dashboard: View scheduled interviews, meeting links, and HR contact details.
- Job Posting & Management: Create detailed job postings with specific skill requirements (Beginner, Intermediate, Expert) and mandatory flags.
- Automated Candidate Matching: Automatically filter and rank candidates based on their verified skills and assessment scores.
- Interview Scheduling: Organize multi-round interviews (HR, Technical, Final), assign interviewers, and manage schedules.
- Job Offers: Generate, send, and track job offers directly through the platform.
- Shortlisting & Notes: Keep track of top candidates with custom notes and statuses.
- Role-Based Access Control: Secure, isolated dashboards for Candidates and Recruiters.
- Premium User Interface: Modern, tech-focused design featuring glassmorphism, background animations, responsive layouts, and staggered entrance effects.
- Real-time Notifications: Alerts for interview schedules, job offers, and application updates.
- Backend: Python 3, Django 5.0+
- Database: PostgreSQL (Production via Railway), SQLite3 (Local Development)
- Static File Serving: WhiteNoise
- WSGI Server: Gunicorn
- Image Processing: Pillow (for profile photos and certificates)
- Frontend: HTML5, CSS3 (Vanilla CSS with premium styling, CSS Grid/Flexbox for responsiveness), JavaScript (Vanilla for interactions)
The project is structured into four main Django applications:
accounts: Manages the customUsermodel, Candidate/Recruiter profiles, and real-time notifications.skills: Handles the core skill taxonomy, question banks, candidate assessments, skill progress (penalty/locking), and certificate verification.jobs: Manages job postings, candidate applications, matching scores, hiring invitations, and job offers.interviews: Facilitates scheduling, managing interviewers, shortlisting candidates, and tracking interview feedback/scores.
Follow these steps to run SkillSphere locally on your machine.
- Python 3.10+
- Git
- PostgreSQL (optional for local, uses SQLite by default)
git clone <repository-url>
cd DjangoProject-skillspherepython -m venv .venv
source .venv/bin/activate # On Windows use: .venv\Scripts\activatepip install -r requirements.txtCreate a .env file in the skillsphere directory (where settings.py is located) or at the project root, using .env.example as a template.
DEBUG=True
SECRET_KEY=your-secret-key-herecd skillsphere
python manage.py makemigrations
python manage.py migrateTo populate the database with initial skills and assessment questions, run the custom management commands:
python manage.py seed_skills
python manage.py seed_assessment_questionspython manage.py createsuperuserpython manage.py runserverVisit http://127.0.0.1:8000/ in your browser.
This project is configured for seamless deployment on Railway.
- Connect your GitHub repository to a new Railway project.
- Add a PostgreSQL database service in Railway.
- Railway will automatically detect the
railway.tomlandProcfile. - Ensure the following environment variables are set in your Railway project:
DEBUG=FalseSECRET_KEY(Generate a secure, random string)ALLOWED_HOSTS(Your Railway domain)CSRF_TRUSTED_ORIGINS(e.g.,https://your-app.up.railway.app)- Database Variables (Automatically added by Railway Postgres, or manually add
DATABASE_URL)
- Deploy the application!
We welcome contributions to SkillSphere!
- Fork the repository.
- Create a new branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
Built with ❤️ for better recruitment and career growth.