Project Info
This project did not submit a demo video on Devpost.
Inspiration
The inspiration for Skill Chain came from the desire to create a more efficient and serious job application process. We wanted to reduce spam and ensure that applicants are genuinely interested in the positions they apply for. The concept is similar to Tinder, but with a twist - it’s for job applications!
What it does
Skill Chain is a blockchain-based platform where users pay to apply for jobs. The application fee is automatically deducted when a user decides to apply for a job. If the applicant is not selected (left-swiped by the recruiter), the money is refunded. This innovative approach reduces spam and ensures that only serious candidates apply.
How we built it
We built Skill Chain using the XRP Ledger for blockchain transactions and smart contracts, ensuring a secure and transparent process. The backend REST API was developed using Java Spring Boot, providing robust and scalable server-side software. For the frontend, we used the Angular framework to create a user-friendly interface.
Challenges we ran into
Implementing the blockchain transactions and smart contracts on the XRP Ledger was a significant challenge due to its complexity. Additionally, integrating the frontend with the backend while ensuring data consistency and security was also a hurdle we had to overcome.
Accomplishments we're proud of
We’re proud of developing a unique solution that addresses a real-world problem. The successful integration of different technologies (blockchain, backend, and frontend) to create a cohesive platform is a significant achievement for us.
What we learned
Through this project, we learned about the practical implementation of blockchain technology and smart contracts. We also gained experience in backend and frontend development, and how to integrate them effectively.
What's next
The next step for Skill Chain is to incorporate more advanced features, such as AI-based matching of applicants to jobs. We also plan to expand our user base and collaborate with more companies to offer a wider range of job opportunities.
Analysis
View
Metric
No commits on this project resolved to a GitHub account.
Technology
- AngularIn code
- CSSIn code
- ExpressIn code
- HTMLIn code
- JavaIn code
- JavaScriptIn code
- TypeScriptIn code
- MongoDBClaimed
- RedisClaimed
7 of 9 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
101 KB
Source files
85
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
Yash-kumar7/SkillChain
106 files · 653 KB · @ d6ac8c1
Structure
Interface
41 files · 39%Screens, components and styles rendered to the user.
API & routing
5 files · 5%Request entry points: routes, handlers and controllers.
Application logic
29 files · 27%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Java34%
- TypeScript25%
- CSS18%
- HTML12%
- JavaScript5%
- XML3%
- Other (1)1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 23- @angular/animations
- @angular/common
- @angular/compiler
- @angular/core
- @angular/forms
- @angular/platform-browser
- @angular/platform-browser-dynamic
- @angular/router
- cors
- rxjs
- tslib
- zone.js
- +11 more
XRP/package.json
npm · 6- cors
- crypto
- express
- five-bells-condition
- nodemon
- xrpl
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
Feature verification
Angular frontendVerified
For the frontend, we used the Angular framework to create a user-friendly interface
Claimed on Devposthigh confidencefrontend/angular.json— Angular CLI project configurationfrontend/src/app/app.module.ts— Root Angular module declaring components
Blockchain-based application fee payment via XRP Ledger escrowVerified
The application fee is automatically deducted when a user decides to apply for a job, using XRP Ledger smart contracts
Claimed on Devposthigh confidencebackend/src/main/java/com/backend/controller/JobSeekerController.java:39— applyForJob calls rippleIntegration.jobInterestRequest with user and company seeds before saving the applicationbackend/src/main/java/com/backend/controller/RippleIntegration.java:20— jobInterestRequest POSTs to the XRP microservice's /api/jobinterest endpointXRP/server.js:48— /api/jobinterest builds and submits an EscrowCreate transaction on the XRPL testnet, moving 5 XRP from applicant to company wallet
Employer job posting management (create/list/update/delete)Verified
Efficient job application process for employers
Claimed on readmehigh confidencebackend/src/main/java/com/backend/controller/RecruiterController.java:28— postJob, listJobs, fetchJobById, updateJob, deleteJob endpoints implemented against JobPostingService/Repository
Java Spring Boot backend REST APIVerified
The backend REST API was developed using Java Spring Boot
Claimed on Devposthigh confidencebackend/pom.xml— Spring Boot parent/dependencies declaredbackend/src/main/java/com/backend/SpringBootApplication.java— Spring Boot application entry pointbackend/src/main/java/com/backend/controller/RecruiterController.java:16— @RestController exposing /api/recruiter REST endpoints
MongoDB data persistenceVerified
Built with mongodb
Claimed on Devposthigh confidencebackend/src/main/java/com/backend/repository/UserRepository.java:7— extends MongoRepository<User, String>backend/src/main/java/com/backend/user/User.java:11— @Document(collection = "users") maps entity to a MongoDB collection
Redis caching layerVerified
Built with redis
Claimed on Devposthigh confidencebackend/src/main/java/com/backend/redis/RedisConfig.java:18— Configures a JedisConnectionFactory and RedisCacheManager pointed at a hosted Redis Labs instancebackend/src/main/java/com/backend/service/impl/UserServiceImpl.java:8— Imports and presumably applies @Cacheable to service methods, using the Redis-backed cache manager
User signup and loginVerified
Secure job application process for job seekers and employers (account access)
Claimed on readmemedium confidencebackend/src/main/java/com/backend/controller/AuthController.java:17— signup/login/logout endpoints exist and call UserService; note login compares existingUser.getPassword().equals(user.getPassword()) in plaintext, so it is implemented but not actually secure despite the 'secure' claim
Automatic refund of application fee when applicant is rejectedCode-supported
If the applicant is not selected (left-swiped by the recruiter), the money is refunded
Claimed on Devpostmedium confidenceXRP/server.js:88— /api/jobdecisionchecked implements an EscrowCancel transaction that would refund the escrowed XRPbackend/src/main/java/com/backend/controller/RippleIntegration.java:26— jobDecisionCheckedRequest wraps the EscrowCancel call, but is never invoked anywhere in the backendbackend/src/main/java/com/backend/controller/RecruiterController.java:77— rejectJobApplication only calls updateJobApplicationStatus(...,"rejected"); it never calls rippleIntegration.jobDecisionCheckedRequest, so the refund logic exists but is not wired to the reject action
Tinder-style swipe interface for reviewing candidates/jobsCode-supported
The concept is similar to Tinder, but for job applications, implying a swipe-based UI for recruiters/candidates
Claimed on Devpostmedium confidencefrontend/src/app/employer/explorecandidates/explorecandidates.component.ts:63— swipeLeft/swipeRight methods exist and advance through a card deck, implementing the swipe mechanicfrontend/src/app/employer/explorecandidates/explorecandidates.component.ts:13— cardData is a hardcoded static array of fake candidates, not fetched from the backend job applications API, so the swipe UI is not connected to real applicant/rejection data
AI-based matching of applicants to jobsClaimed only
The next step for Skill Chain is to incorporate more advanced features, such as AI-based matching of applicants to jobs
Claimed on Devposthigh confidence
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.