A modern, web-based tool for creating and managing verifiable resumes that empowers individuals to showcase their skills and experiences securely using blockchain technology and verifiable credentials.
Resume Author is part of the T3 Innovation Network initiative, designed to create more equitable and effective learning and career pathways. This application enables users to:
- Create Professional Resumes: Build comprehensive resumes with multiple sections including work experience, education, skills, certifications, and more
- Verifiable Credentials Integration: Import and verify credentials from various sources using W3C Verifiable Credentials standards
- Digital Wallet Authentication: Secure login using Learner Credential Wallet and other digital identity solutions
- Cloud Storage: Save and manage multiple resumes with Google Drive integration
- PDF Export: Generate professional PDF versions of resumes
- Real-time Collaboration: Share and collaborate on resume content
- π Secure Authentication: Multiple authentication methods including Google OAuth, Auth0, and digital wallet integration
- π± Responsive Design: Works seamlessly across desktop and mobile devices
- π¨ Rich Text Editor: Advanced text editing capabilities with custom formatting
- π Progress Tracking: Visual indicators for resume completion
- π Credential Verification: Integration with verifiable credential ecosystems
- πΎ Auto-save: Automatic saving of work with draft management
- π€ Multiple Export Options: PDF generation and sharing capabilities
- Frontend: React 18 with TypeScript
- State Management: Redux Toolkit
- UI Framework: Material-UI (MUI) v6
- Authentication: Auth0, Google OAuth
- Storage: Google Drive API, Firebase
- PDF Generation: jsPDF, html2pdf.js
- Text Editor: Quill.js with custom extensions
- Routing: React Router v7
- Build Tool: Create React App with Craco
- Node.js (v16 or higher)
- npm or yarn package manager
- Google Cloud Platform account (for Google Drive integration)
- Auth0 account (for authentication)
- Firebase project (for additional storage)
-
Clone the repository
git clone https://github.com/your-org/resume-author.git cd resume-author -
Install dependencies
npm install # or yarn install -
Environment Configuration
Create a
.envfile in the root directory with the following variables:# Google OAuth REACT_APP_GOOGLE_CLIENT_ID=your_google_client_id REACT_APP_GOOGLE_REDIRECT_URI=http://localhost:3000/auth/callback # Auth0 Configuration REACT_APP_AUTH0_DOMAIN=your_auth0_domain REACT_APP_AUTH0_CLIENT_ID=your_auth0_client_id # Backend Server REACT_APP_SERVER_URL=https://linkedcreds.allskillscount.org # Firebase Configuration REACT_APP_FIREBASE_API_KEY=your_firebase_api_key REACT_APP_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com REACT_APP_FIREBASE_PROJECT_ID=your_project_id
-
Start the development server
npm start # or yarn startThe application will open at http://localhost:3000
npm run build
# or
yarn buildThis builds the app for production to the build folder, optimized for deployment.
npm test
# or
yarn testnpm start- Runs the app in development modenpm run build- Builds the app for productionnpm test- Launches the test runnernpm run format- Formats code using Prettiernpm run eject- Ejects from Create React App (one-way operation)
src/
βββ components/ # Reusable UI components
β βββ Editor.tsx # Main resume editor
β βββ ResumeEditor/ # Resume-specific components
β βββ TextEditor/ # Rich text editor components
β βββ common/ # Shared components
βββ pages/ # Page-level components
βββ redux/ # State management
β βββ slices/ # Redux slices
β βββ store.ts # Store configuration
βββ services/ # API services
βββ tools/ # Utility functions
βββ types/ # TypeScript type definitions
βββ hooks/ # Custom React hooks
βββ firebase/ # Firebase configuration
βββ styles/ # CSS and styling files
βββ assets/ # Static assets
We welcome contributions from the community! Please follow these guidelines:
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes following our coding standards
- Write or update tests as needed
- Run the test suite:
npm test - Format your code:
npm run format - Commit your changes:
git commit -m "Add your feature" - Push to your branch:
git push origin feature/your-feature-name - Open a Pull Request
- TypeScript: Use TypeScript for all new code
- ESLint: Follow the existing ESLint configuration
- Prettier: Format code using the project's Prettier configuration
- Component Structure: Use functional components with hooks
- State Management: Use Redux Toolkit for global state
- Styling: Use Material-UI components and sx prop for styling
- Testing: Write unit tests for new features using React Testing Library
- Ensure your PR addresses a specific issue or feature request
- Update documentation as needed
- Add tests for new functionality
- Ensure all tests pass
- Request review from maintainers
- Address feedback promptly
When reporting issues, please include:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Browser and OS information
- Screenshots if applicable
This project is licensed under the MIT License - see the LICENSE file for details.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- OpenCreds - Platform for issuing and managing verifiable credentials
- T3 Innovation Network - Exploring emerging technologies in the talent marketplace
- Live Demo: https://resume.allskillscount.org/
- Documentation: Check the
/docsfolder for detailed documentation - Issues: Report bugs and feature requests in the GitHub Issues section
- FAQ: Visit
/faqroute in the application for frequently asked questions
- Initial release with core resume editing functionality
- Google Drive integration for storage
- Verifiable credentials support
- PDF export capabilities
- Multi-section resume builder
- Authentication system integration
Built with β€οΈ by the T3 Innovation Network team
Empowering individuals to showcase their skills and experiences securely in the digital age.