Certificate-Generator is a web application to generate certificates. It provides a seamless user experience with features such as user authentication, certificate request management, and storage.
- User Authentication: Users can sign in using their email and password.
- Certificate Request: Users can request certificates, available on site as per their choice.
- Admin Panel: Special users with admin roles can access the admin-panel to add new certificate templates, view certificate requests from other users and approve them.
- Certificate Customize and Preview: An admin edits the Certificate description, and downloads it in pdf format for preview after customizing.
Certificate.Generator.-.Made.with.Clipchamp.1.mp4
To run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/arghyadutta080/Certificate-Generator.git cd certificate-generator
-
Open the
Certifcate-generator
directory in your Code-Editor (In my case it's VS-Code) -
Open the terminal in your Code-Editor and split it into two terminals
-
In the first terminal move to the server directory:
cd server
-
Install dependencies:
npm install
-
Create a
.env
file at the root of theserver
directory with the following content:PORT=5001 MONGODB_URL=<your-mongodb-url> JWT_SECRET=7bVNPzUERvtDx5C
-
Run the
server
:npm run start
-
In the second terminal move to the
client
directory:cd client
-
Install dependencies:
npm install
-
Create a new Firebase Project with Firebase Console and collect Project Configuration.
-
Create a
.env
file at the root ofclient
directory with the following content:VITE_API_KEY=<your-api-key> VITE_AUTH_DOMAIN=<your-auth-domain> VITE_PROJECT_ID=y<our-project-id> VITE_STORAGE_BUCKET=<your-storage-bucket> VITE_MESSAGING_SENDER_ID=<your-messaging-sender-id> VITE_APP_ID=<your-app-id> VITE_MEASUREMENT_ID=<your-measurement-id> VITE_SERVER_API=http://localhost:5001 VITE_CLOUDINARY_CLOUD_NAME=<your-cloud-name> VITE_CLOUDINARY_UPLOAD_PRESET=<your-upload-preset> VITE_CLOUDINARY_API=<your-cloudinary-api>
-
Run the
client
:npm run dev
-
Now, You will be redirected to localhost:5173
Contributions to the project are welcome! To contribute, fork the repository and create a new branch for your changes. Once you have made your changes, create a pull request to merge your branch into the main repository.