A modern Node.js/Express-based credential and certificate management system with an intuitive web interface for awarding and issuing digital certificates.
This project is a comprehensive Credential & Certificate Management Platform built with Node.js and Express. It provides a user-friendly interface for creating, managing, and issuing digital certificates and credentials. The application integrates with the Certifyme API to handle credential generation and verification, making it ideal for organizations, educational institutions, and businesses that need to issue professional certificates and credentials.
Key Capabilities:
- Create and issue digital certificates
- Manage awardee information
- Verify credentials with unique license numbers
- Send certificates via email
- Support multiple verification modes (Passport Number, ID, etc.)
- Beautiful, responsive UI for certificate awarding
- User-Friendly Form Interface - Collect awardee information through a clean, intuitive form
- Email Integration - Automatically send certificates to awardees via email
- API Integration - Seamless integration with Certifyme API for credential management
- Responsive Design - Works perfectly on desktop, tablet, and mobile devices
- Multiple Verification Modes - Support for Passport Number, ID verification, and more
- Secure Credential Handling - JWT-based authentication support
- Axios HTTP Client - Reliable API communication
| Technology | Version | Purpose |
|---|---|---|
| Node.js | 14+ | JavaScript runtime |
| Express.js | 4.18.2 | Web framework |
| Axios | 1.3.3 | HTTP client |
| Body-parser | 1.20.1 | Request body parsing |
| Pug | 3.0.2 | Template engine |
| Nodemailer | 6.9.1 | Email service |
| JWT | 9.0.0 | Authentication |
| Nodemon | 2.0.20 | Development auto-reload |
- Node.js (v14 or higher)
- npm (Node Package Manager)
-
Clone the repository
git clone https://github.com/Harshitgupta5290/UI-design-node.js-framework.git cd UI-design-node.js-framework -
Navigate to the project directory
cd "nodejs framework"
-
Install dependencies
npm install
-
Configure credentials
- Open
app.jsand update the Certifyme API credentials:
const username = "your account of certifyme"; const password = "your password of certifyme";
- Open
-
Start the application
npm start
Or with auto-reload during development:
npm run dev
-
Access the application
- Open your browser and navigate to
http://localhost:3000
- Open your browser and navigate to
# Production mode
npm start
# Development mode (with auto-reload)
nodemon app.jsThe server will run on http://localhost:3000 (or the port specified in the PORT environment variable).
- Navigate to the Quick Award form at
/form - Enter the awardee's name
- Enter the awardee's email address
- Select template and verification mode
- Provide license number and verification code
- Submit the form to create and send the certificate
- GET
/- Serves the main certificate form - GET
/form- Serves the certificate award form - POST
/Create_Credential- Creates a new credential - POST
/formPost- Handles form submissions
UI-design-node.js-framework/
β
βββ README.md
β
βββ nodejs framework/
βββ app.js # Main application server
βββ package.json # Project dependencies
β
βββ public/
βββ index.html # Main HTML page
βββ style.css # Stylesheet
βββ readme.cd # Additional documentation
The application uses the following environment variables:
| Variable | Default | Description |
|---|---|---|
PORT |
3000 |
Server port |
Update the following in app.js:
const username = "your_certifyme_email";
const password = "your_certifyme_password";The application uses Nodemailer for sending certificates. Configure your email settings in app.js before deploying.
- express - Web framework for Node.js
- axios - Promise-based HTTP client
- body-parser - Middleware for parsing request bodies
- pug - Template engine
- nodemailer - Email service
- jsonwebtoken - JWT authentication
- path - Node.js path utilities
- router - Express router
- nodemon - Auto-reload during development
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/YourFeature) - Commit your changes (
git commit -m 'Add YourFeature') - Push to the branch (
git push origin feature/YourFeature) - Open a Pull Request
Please ensure your contributions:
- Follow the existing code style
- Include appropriate comments
- Are well-tested
- Update documentation if needed
This project is licensed under the ISC License - see the LICENSE file for details.
Harshit Gupta (Certifyme)
- GitHub: @Harshitgupta5290
If you encounter any issues or have questions:
- Check the existing Issues
- Create a new issue with detailed information
- Include your Node.js version and environment details
.env file (add to .gitignore).
β If you find this project helpful, please give it a star!
Made with β€οΈ by Harshit Gupta