Certificates Ninja
Certificates.ninja is a free and open-source web application for event organizers to easily create 'immutable and tamper resistant' certificates powered by Blockchain and NFTs.
Repository Video ▶️
Certificates Ninja
A FOSS tool for event organizers to send bulk certificates to participants in a matter of few clicks.
About The Project
[
Are you hosting an event and do you wish to present certificates to your participants? With Certificates Ninja, you can seamlessly send certificates and event badges in just a couple of clicks. Certificates Ninja helps you to automate the process of making individual certificates for each of the participants and deliver it to them over email. The certificates can also be optionally saved on IPFS meaning that they will be persistant forever and can be easily verified using our verification tool.
Built With
Frontend
- NextJS
- TailwindCSS
- ChakraUI
Backend, middleware and utilities
- NodeJS
- Redux
- ExpressJS
- NPM
In order to run Certificates Ninja locally, run the client and the server using the instructions provided.
Running the client
Clone the repository
Download the code from this repository or clone the repository using the following command
git clone https://github.com/Certificates-Ninja/Frontend.git
Installing the dependencies
Install the required dependencies using the following command
npm install
Setting up .env
Rename the .env.example
file into .env
or alternatively create a file called .env
with the following. This specifies that the server will run on port 3001.
NEXT_PUBLIC_BACKEND_DOMAIN=http://localhost:3001
Running the frontend
Run the front end using the following command
npm run dev
Running the server
Clone the repository
Download the code from this repository or clone the repository using the following command
git clone https://github.com/Certificates-Ninja/Backend.git
Installing the dependencies
Install the required dependencies using the following command
npm install
Setting up .env
Rename the .env.example
file into .env
or alternatively create a file called .env
with the following. Kindly fill your own SMTP details or get free testing credentials from Mail trap.
SESSION_SECRET="THIS SHOULD BE SUPER SECRET"
SMTP_HOST=smtp.mailtrap.io
SMTP_PORT=
SMTP_USERNAME=
SMTP_PASSWORD=
Running the backend
Run the back end using the following command
npm start
Roadmap
- [x] Importing participants
- [x] Choosing in-built or custom templates
- [x] Sending email to the participants
- [x] Uploading on IPFS
- [ ] Verifying the document by comparing the IPFS UID
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature 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
License
Distributed under the MIT License. See LICENSE.txt
for more information.
Contact
Reach out to us on email : kumaragurut7@gmail.com if you have any queries.
Attributions
- Choose an Open Source License
- GitHub Emoji Cheat Sheet
- Malven's Grid Cheatsheet
- Mail Trap for Email testing
- TailwindCSS
- ChakraUI
- IPFS
- Axios
- Nodemailer
Final Update :
Thanks for the amazing opportunity. Feel free to checkout our demo video. Star our repo if you liked it. All instructions to run locally, technology stack and attributions can be found in the README.
Update #6
We have successfully completed the core features that we had planned. However, we have the documentation works and video left.
Update #5
The backend is completed except the decentralized storage parts. We are currently working with Axios to connect the server with the client and we are expected to complete this by a couple of minutes. Up next is documentation, video and implementing decentralized storage and minting the certificate as an NFT.
Update #4
All the required routes and pages have been completed. There is a bit of work left in the frontend with the fonts and alignments.
Update #3
We have successfully completed 50% of the frontend. The backend is also being developed parallely.
-[x] Home page -[x] Ask for SMTP Credentials -[x] Import participant data -[] Select certificate template -[] Create your own certificate template -[] Emails sent successfully
Update #2 Started working on certificate generation - [X] Participants import - [] Select template - [] Generate certificates - [] Mailing certificates
Update #1
We made a new GitHub Organization for our project. We have 2 repositories : frontend and backend respectively. Feel free to checkout our code.
Project created by Kumaraguru