Code Monkey home page Code Monkey logo

badgeyay's Introduction

Badgeyay

Badgeyay

Gitter Codacy Badge Build Status Mailing

Badgeyay provides an interface to event organizers for generating badges of events from concerts to conferences and meet-ups.

Badgeyay is a Badge generator with a simple web UI to add data and generate printable badges in a PDF.

The user can:

  • Choose the size of the badges
  • Choose the background of the badges and upload the logo and the background image
  • Upload a CSV file or manually enter CSV data as: name, type of attendee, designation, nick/handle, organization/project

Demo

ezgif com-video-to-gif 15

Communication

Installation

Badgeyay's frontend and backend can be deployed easily and a detailed installation instruction of frontend and backend have been provided below.

  1. Badgeyay Frontend
  2. Badgeyay Backend
  3. Installing git pre-push hook:
    • Run file scripts/install-hook.py. It will copy contents of scripts/pre-push-hook.py to .git/hooks/pre-push. Make sure that you have .git/hooks/pre-push.sample in your .git directory before performing this step.
    • This will install git pre-push-hook in your local .git directory. It will run the commits against linting tests before pushing to a remote. See scripts/pre-push-hook.py if you encounter any errors.

Technology Stack

Please get familiar with the different components of the project in order to be able to contribute.

  • Backend Web Framework - Flask
  • Frontend Web Framework - Ember.js

Branch Policy

We have the following branches :

  • development All development goes on in this branch. If you're making a contribution, please make a pull request to development. PRs must pass a build check and all tests check on Travis.

  • master This contains shipped code. After significant features/bug-fixes are accumulated on development, we make a version update, and make a release.

Contributions Best Practices

Commits

  • Write clear meaningful git commit messages (Do read http://chris.beams.io/posts/git-commit/)
  • Make sure your PR's description contains GitHub's special keyword references that automatically close the related issue when the PR is merged. (More info at https://github.com/blog/1506-closing-issues-via-pull-requests )
  • When you make very very minor changes to a PR of yours (like for example fixing a failing travis build or some small style corrections or minor changes requested by reviewers) make sure you squash your commits afterwards so that you don't have an absurd number of commits for a very small fix. (Learn how to squash at https://davidwalsh.name/squash-commits-git )
  • When you're submitting a PR for a UI-related issue, it would be really awesome if you add a screenshot of your change or a link to a deployment where it can be tested out along with your PR. It makes it very easy for the reviewers and you'll also get reviews quicker.

Feature Requests and Bug Reports

  • When you file a feature request or when you are submitting a bug report to the Issue tracker, make sure you add steps to reproduce it. Especially if that bug is some weird/rare one.

Join the development

  • Before you join development, please set up the system on your local machine and go through the application completely. Press on any link/button you can find and see where it leads to. Explore. (Don't worry ... Nothing will happen to the app or to you due to the exploring ๐Ÿ˜‰ Only thing that will happen is, you'll be more familiar with what is where and might even get some cool ideas on how to improve various aspects of the app.)
  • If you would like to work on an issue, drop in a comment at the issue. If it is already assigned to someone, but there is no sign of any work being done, please free to drop in a comment so that the issue can be assigned to you if the previous assignee has dropped it entirely.

License

This project is currently licensed under the GNU General Public License v3.

To obtain the software under a different license, please contact FOSSASIA.

badgeyay's People

Contributors

abhi40308 avatar abhilash-neog avatar abishekvashok avatar alirizwi avatar ankurg22 avatar championpaddler avatar dependabot[bot] avatar devesh-verma avatar djmgit avatar gabru-md avatar geetchoudhary avatar jajodiaraghav avatar kushthedude avatar mariobehling avatar meets2tarun avatar mohdomama avatar nanspro avatar navirocker avatar niccokunzmann avatar parths007 avatar prabhupant avatar pushkalkatara avatar rajvaibhavdubey avatar raraghavarora avatar rupav avatar s2606 avatar sagar-kalra avatar vaibhavsingh97 avatar yashladha avatar yogeshsharma0201 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

badgeyay's Issues

Create PDF / ZIP only if the User asks for it

I'm submitting a ... (check one with "x")

  • bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

Current behavior:

Expected behavior:

Steps to reproduce:

Right now if a user uploads a CSV - we are making SVGs, PDFs and ZIP - and then giving the user the option to download one. This will waste time for large number of badges.

Maybe ask the user before-hand what all formats they want the badges in,

Add virtualenv for dependency management

I'm submitting a ... (check one with "x")

  • bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

Right now the website has crashed due to importerror of urllib module. What i have proposed is to avoid this issue in future i have created a virtual environment so that whenever someone uses a new module, they can pip freeze > requirements.txt it for dependency management.

@niccokunzmann @jajodiaraghav @gabru-md Please give your opinion

Validation error on entering data manually

I'm submitting a ... (check one with "x")

  • bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

Current behavior:
Entering anything generates badges
image
image

Expected behavior:
If we know the type of data to be entered,then we can validate it as per the needs

Steps to reproduce:

Internal Server Error

I'm submitting a ... (check one with "x")

  • [x ] bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

Current behavior:
On uploading any sample data and clicking upload, the site displays 500 Internal Server Error.

Expected behavior:
Should create the required badges.

Choose/change paper size

The following paper sizes should be supported:

  • A3 (this is currently supported but A4 is more important)
  • A4 - this is used in Germany
  • ?? - this is used in Singapore

This issue requires some research about:

  • where do the next conferences of fossasia take place, which paper format do they use
  • what are the dimension of the badges used there? name cards, A6, ???

Please share your research here as it is much appreciated to direct the development flow.
You can implement paper-and badge-sizesfor the different use-cases.

Convert shell script to python

The merge_badges.py file currently performs:

  1. Converting SVG to PDF
  2. Merging badges together in a single PDF

If it really necessary to perform these operations using shell? Can we convert the shell script to equivalent python script?

Ping @mariobehling @niccokunzmann

For reviewing of the PR

I'm submitting a ... (check one with "x")

  • bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

While submitting a PR, now we don't have a way to review the PR.
Ways to review a PR, in increasing order of quality check

The person who made PR should give a Heroku deployment link to that branch to test the changes
or app.json file should make a temporary automatic deployment of that PR on pushing each and every commit every time.

gabu-md as maintainer

@gabru-md has proven commitment by commits, see here I add him as a miantainer. If you have any concerns, please state them here.
Otehrwise, we can close this after some time and if somthing comes up, we can have a discussion.

@gabru-md please read the CCCC guide and the README file if you like to take on this responsibility.

Make merge_badges.py independent of linux commands

I'm submitting a ... (check one with "x")

  • bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

Current behavior:
merge_badges.py contains linux commands being executed from python code, this makes the app dependent on os.

Expected behavior:
Remove the linux commands and use corresponding python code

Add .editorconfig file

I'm submitting a ... (check one with "x")

  • bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

Expected behavior:
Linting purposes for python.

Are you working on this issue?
Yes

Create Docker Container for web app

I'm submitting a ... (check one with "x")

  • feature request

Current behavior:

I would like to see an automated build of the web app running in a docker container. I have a server so I could host the web app.
There is something similar, #3 but docker is also an option.

Expected behavior:

Please

  • Create a docker file which runs the web app
  • deploy this file to a web server (I can do this)

Motivating Documentation

I'm submitting a ... (check one with "x")

  • feature request

Current behavior:

Currently, we have a deployment to heroku.

Expected behavior:

To make it motivating for others to contribute, we can tell them how long it takes for their changes to become live.

  • Document how the automatic deployment works, where to find the deployed version
  • Document what to do to get your changes live
  • Document, how long it takes after merge to see your changes inline.

Document how to use the file from #32

I'm submitting a ... (check one with "x")

  • bug report

Current behavior:

I do not know how to use to file.

Expected behavior:

I would like to read in the REAME file about the meaning of the file and the project guidelines which seem to be mainfested in the file.

Related code:

#32

Page not responsive

I'm submitting a ... (check one with "x")

  • bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

Current behavior:
The page is not responsive, gets distorted for smaller screen sizes.

Expected behavior:
The page should be responsive.

Steps to reproduce:
screen shot 2017-09-17 at 11 40 37 am

Integrate a python linter

I'm submitting a ... (check one with "x")

  • bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

Current behavior:

Expected behavior:

Steps to reproduce:

Deploy App in Debug Mode

I'm submitting a ... (check one with "x")

  • feature request

Current behavior:

As shown in #73, the app is currently deployed in production mode.

Expected behavior:

In order to understand errors in production and even report seldom errors, we could use a debug mode displaying the traceback.

Steps to reproduce:

See #73

Download fail:NO FILE

What is the workflow of website,when i uploaded png and csv files it says badge is ready download as pdf but it shows download fail NO FILE.
workspace 1_007

However the uploaded files are downloaded in uploads folder but there is no badge so how are we returning user it's badge as pdf.
workspace 1_008

Uploads folder contain code files and created badges folders

I'm submitting a ... (check one with "x")

  • [x ] feature request
    Current behavior:
    Uploads folder contains code files and created badges folder, which should not happen .

Expected behavior:
Uploads should only contain uploaded files and code files should be present in app/

Clarify who needs to be contacted for admininstrative changes

Context: I would like to add @meets2tarun to the people who have write access as he is a maintainer.
I would like to add @jajodiaraghav to the people with write access because he has proven to be productive for the project and can merge and review other people's work.

Problem: I do not know who to contact for this.

Two solutions exist:

  1. pass admin permissions to me so I can do this.
  2. find an other admin to do it, which is also required for 1.

Roadmap

  1. Discuss on gitter
  2. ping fossasia administrators
  3. ping different teams, open-event team first, then others.

Guidelines for user

I'm submitting a ... (check one with "x")

  • bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

Current behavior:

Expected behavior:

There should be guidelines for user as well for the requested format of json or csv that user uploads.
Steps to reproduce:

Creating a route -> /guidlines with proper documentation should do.

Duplicate badges

Presently duplicate badges are being generated, is this intentional? If not then I would like to fix this.

Need of a webapp

I'm submitting a ... (check one with "x")

  • bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

A web app made up of flask deployed on Heroku which will trigger Travis with the required configuration to get required badges as a Github Release and provide it to the users.
@niccokunzmann

Clicking outside the Menu in Header should close it.

I'm submitting a ... (check one with "x")

  • bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

Current behavior:

Expected behavior:

Steps to reproduce:

Right now to close the Menu (Dropbox?) one needs to click on the link again.
Clicking anywhere outside it, should close it.

Create SVG-background (Inkscape+SVG editing issue)


The images like this have the following properties:

  1. They have a fix color
  2. They have a marker like "EXHIBITOR" written on them.

I would like to have my own text on thie beautiful background but with my own color.

Possible Solution:

Create an SVG file without the exhibitor text.
The triangles all have one color e.g. #33ee66, so that I can replace the color with find and replace in this SVG file. To change the brightness, you can add a grey triange above them. You can make it totally black and just change the transparency value.
You can use Inkscape to create the file.

500 error on /upload - badges folder missing

I'm submitting a ... (check one with "x")

  • bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

Current behavior:

Raises a 500 error on /upload
ere
^^
This is the error log.

Expected behavior:

should not throw an error.
/app/static/badges folder is missing and must be added.

Steps to reproduce:

create a folder named badges inside ../app/static.
or

import os
os.chdir('../app/static')
os.mkdir('badges')

this line would also do! :D

I would like to work on this.
Thanks

Provide an option to select a PNG from default images

Provide an option to choose from a set of default images (in /uploads folder) so that user can create badges without the need to upload images themselves. The user should be able to select one (multiple?) image from the set of images and upload a CSV to generate badges.

Change Error Page for 500 Error

I'm submitting a ... (check one with "x")

  • feature request

Current behavior:

Currently, as shown in #73, nothing is really displayed on an error page.

Expected behavior:

I would like to have the following displayed, all with as much explanation as possible:

  • (1) traceback #74
  • (2) installation information
    • (2.1) git commit/version number
    • (2.2) Python version number
    • (2.3) If required packages are installed and which are installed
  • (3) some explanatory text that this is unexpected and what it means: the service can not be performed as expected
  • (4) a link to the issues page, inviting to pose the problem
    • (4.1) A started description which can be copied and pasted into the issue
  • (5) a link to gitter with an inviting text to get started and contribute

I believe, once people come from eventyay, this will help them get to report the error.

If you like to work on the issue, please create a separate PR for each point with the point number e.g. 4.1 mentioned in the heading and referring to this issue with #75 in the description, so it turns up in the discussion.

Delete the residue files before upload process

I'm submitting a ... (check one with "x")

  • bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

The files generated from the previous upload might result in unwanted results. Best would be to check and delete the previous files before uploading new ones.

UI bug on successful '/upload'

I'm submitting a ... (check one with "x")

  • bug report
  • feature request
  • support request => Please do not submit support requests here, instead ask your query in out Gitter channel at https://gitter.im/fossasia/badgeyay

Current behavior:

by1

Footer overlaps the form whenever '/upload' is successful.
Expected behavior:

The footer must not overlap with the form.
It should stay either fixed on bottom or should be placed below the form everytime.

Steps to reproduce:

Changing some CSS would definitely do.
:D

Import from Open-Event

This service should create badges for evetnyay. This is why it is called badgeyay.
Please allow a flow where I, as an eventyay-user can

  1. Export the data from the event for a category of participants (speakers, VIP, orga, ...)
  2. import this to the badgeyay frontend
  3. choose the background image
  4. generate the badges

Hints:

Use version pinning

We want this app to work for a long time. Versions of modules change, please pin the version of the used python packages in the requirements.txt file. (Reasoning)

You can use pip-tools for this: pip install pip-tools.

Errors should not pass silently

I'm submitting a ... (check one with "x")

  • bug report

Current behavior:

Please see the comment #46 (comment) for a description and context.
A generic error is caught and not printed out.

Expected behavior:

Errors should not pass silently.

Steps to reproduce:

Please see the comment #46 (comment)

Duplicate code

There are two merge_badges.sh files. Which one is the right one?
Please delete the one wich is not used.

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.