Skip to content

Schroedinger-Hat/certo

Repository files navigation

Certo

Certo is a digital certificate platform for issuing, managing, and verifying badges and credentials based on the Open Badges 3.0 specification.

Certo Open Graph Image

Features

  • Issue digital certificates for workshops, courses, events, and projects
  • Verify badge authenticity using the Verifiable Credentials model
  • Share certificates on social platforms like LinkedIn
  • View and manage issued badges
  • Support for the Open Badges 3.0 protocol

Project Structure

certo/
├── src/
│   ├── backend/                # Strapi backend (TypeScript)
│   │   ├── src/                # Backend source (APIs, utils, admin, etc.)
│   │   ├── config/             # Strapi configuration
│   │   ├── public/             # Static files
│   │   ├── types/              # TypeScript types
│   │   ├── scripts/            # Utility scripts
│   │   ├── database/           # Database config/data
│   │   ├── Dockerfile          # Backend Docker configuration
│   │   ├── package.json        # Backend dependencies
│   │   ├── tsconfig.json       # TypeScript configuration
│   │   └── ...                 # Other backend files
│   │
│   ├── frontend/               # Nuxt 3 frontend (Vue 3 + Una UI)
│   │   ├── assets/             # Static assets
│   │   ├── components/         # Vue components
│   │   ├── layouts/            # Nuxt layouts
│   │   ├── middleware/         # Nuxt middleware
│   │   ├── pages/              # Nuxt pages
│   │   ├── plugins/            # Nuxt plugins
│   │   ├── stores/             # Pinia stores
│   │   ├── types/              # TypeScript types
│   │   ├── api/                # API clients
│   │   ├── public/             # Public static files
│   │   ├── nuxt.config.ts      # Nuxt configuration
│   │   ├── package.json        # Frontend dependencies
│   │   ├── tsconfig.json       # TypeScript configuration
│   │   ├── Dockerfile          # Frontend Docker configuration
│   │   └── ...                 # Other frontend files
│   │
│
├── docker-compose.yml          # Docker configuration
├── README.md                   # Project documentation
├── LICENSE                     # License file
└── docs/                       # Additional documentation

Requirements

  • Node.js 18+ and npm
  • Docker and Docker Compose
  • PostgreSQL (included in Docker setup)

Development Setup

  1. Clone the repository:
git clone https://github.com/schrodinger-hat/certo.git
cd certo
  1. Create environment variables:

Create a .env file in the root directory with the following variables:

ADMIN_JWT_SECRET=your-admin-jwt-secret
JWT_SECRET=your-jwt-secret
  1. Start the Docker containers:
docker-compose up -d

This will start the backend (Strapi), frontend (Nuxt 3), and PostgreSQL database.

  1. Access the applications:

Running Locally (Without Docker)

If you prefer to run the applications locally without Docker:

Backend (Strapi)

cd src/backend
npm install
npm run develop

Frontend (Nuxt 3)

cd src/frontend
npm install
npm run dev

API Documentation

The API follows the Open Badges 3.0 specification. You can access the Strapi API documentation at http://localhost:1337/documentation after enabling the Swagger plugin.

Key endpoints:

  • /api/credentials: Credential management
  • /api/profiles: Profile management
  • /api/achievements: Achievement management

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.

Acknowledgments

Maintainers

Miki Lombardi
Miki Lombardi

💻 Maintainer
Patrick Raedler
Patrick Raedler

💻 Maintainer
Lorenzo Bugli
Marco Giuliotti

💻 Maintainer

About

An open source project for courses, workshops and conferences organizers to create certifications using Open Badges 3.0

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5