Code Monkey home page Code Monkey logo

badgeyay's Introduction

badgeyay

Travis branch Codecov branch Gitter

The goal of badgeyay is to provide a simple badge generator with the following features:

  • a simple web UI to add data and generate printable badges in a zip
  • Fields should include:
    • choose size of badges
    • choose background of badges and upload logo and background image
    • upload CSV or copy/paste text for badges including name, type of attendee, nick/handle, organization/project

This first step is to provide a simple script to generate the badges for the FOSSASIA conference. The next step is to provide a web UI.

If you like to join developing,

  • you can chat on gitter, mentioning the maintainers.
  • you can find/create issues and solve them.
    • When you solve an issue, you do not own it. Share your progress via a Pull-Requst as soon as possible.
    • Discuss with others who work on the issue about the best solution. It is your responsibility, not the maintainer's to choose the best solution.
  • If in doubt, let's follow CCCC.

Specification

Input

  • The input is a set of csv files in the same folder, UTF-8.
  • The csv file is named after the badge type to take. Example: vip.png.csv uses the picture vip.png.
  • The CSV has up to 4 columns for the name and the twitter handle. They will be filled if this number is filled:
    • __X_
    • __XX
    • _XXX
    • XXXX

Output

The output file is svg / pdf / multipage pdf of size A3. Each badge has the size A6. The outputs are in a folder derived form the input csv. The outputs can be either of the two types, viz ZIPs or PDFs, or both. User has the choice to choose from either of the two or from both of them.

Customization

You can change the font style, font size, color etc from the .svg file in the folder badges. Inkscape is generally used for editing of such files.

Usage

You need Ubuntu.

You can run the merge_badges.py file. It generates badges for every csv file and combines them to one. There is a travis build which build the badges automatically. When a PR is merged into the master branch, the current badges can be downloaded.

Running locally

First fork the main repo https://github.com/fossasia/badgeyay. Then clone your local repo. Go to badgeyay/app directory (cd badgeyay/app). run 'python main.py' to start server. Remember 'main.py' should only be executed from app directory.

Contributions, Bug Reports, Feature Requests

This is an Open Source project and we would be happy to see contributors who report bugs and file feature requests submitting pull requests as well. Please report issues in the GitHub tracker.

Also read CONTRIBUTING.md

Installation

Badgeyay can be easily deployed on a variety of platforms. Currently it can be deployed in following ways.

  1. Local Installation

  2. Deployment on Heroku

  3. Deployment with Docker

One-click Docker and Heroku deployment is also available:

Deploy to Docker Cloud Deploy

Implementation

generate_badges.py creates svg files from the csv, png and badges/8BadgesOnA3.svg.

merge_badges.py converts them into pdf files and merges them together into one.

Travis creates new releases with the all-badges.pdf file.

Maintainers

You can reach the maintainers, ping them personally by looking at the Badgeyay team.

You can become a maintainer by following the project and contributing code to it. Please see your role in the CCCC.

The project is maintained by the Badgeyay maintainer's team. To join the team:

  1. Contribute
  2. You or someone else proposes you in an issue to become a member of the team.
  3. A Badgeyay admin adds you.

To stay a maintainer in the team:

  1. Follow the rules of CCCC or Badgeyay and do not violate them willingly or in a harmful way.

To be removed from the team:

  1. Someone creates an issue to ask for removal, e.g. because if inactivity or a violation.
  2. An admin removes you.

badgeyay's People

Contributors

niccokunzmann avatar s2606 avatar jajodiaraghav avatar gabru-md avatar meets2tarun avatar nanspro avatar pushkalkatara avatar mariobehling avatar vaibhavsingh97 avatar djmgit avatar mish24 avatar yashhere avatar sounak98 avatar pk13055 avatar palnabarun avatar surana-mudit avatar 0xdaksh avatar nemani avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.