Skip to content

IlayBokobza/BellVotes

Repository files navigation

BellVotes

A system for bell voting.

Requirements

NodeJS v14

A google OAuth2 client ID.

A google API key with access to the YouTube Data API v3.

A MongoDB instance.

An install of ffmpeg.

Setup

Clone the project.

git clone https://github.com/IlayBokobza/BellVotes.git

Install the dependencies.

npm install

Go to the server folder and copy the config-example.js file into a new file named config.js. Open config.js and config the app to your liking.

Here is an example of a config file.

module.exports = {

    maxSongs:60, //The max songs allowed to be on te list
    repeatingSongs:true, //when a new cycle starts the songs from the previous one will remain
    port:3000, //the server port
    emailDomain:null, //email filter, only accepts emails from that domain, leave null to accept all email domains
    schoolName:'schoolName', //school name in english 
    hebSchoolName:'שם בית הספר', //school name in hebrew

    //app theme colors
    colors:{
        one:'#2f6690',
        two:'#d9dcd6',
        three:'#3a7ca5',
        four:'#81c3d7',
        five:'#16425b',
        highlight:'#ffd700',
    },

    //songs rules to show on the app
    rules:[
        "הקישור חייב להיות קישור לשיר",
        "השיר חייב להיות בעברית",
        "השיר חייב להיות ראוי",
        'עבירה על החוקים יכולה למנוע ממך מלשלוח עוד הצעות',
    ],
    
    //list of the admins' emails
    admins:[
        "admin1@gmail.com",
        "admin2@gmail.com",
        "admin3@yahoo.com",
    ],

    //external keys and paths
    external:{
        mongoPath:'mongodb://localhost:27017', //mongo url
        youtubeApiKey:'your-api-key', //google api key with access to the youtube v3 api
        googleClientId:'your-client-id', //google oauth client id
        ffmpegPath:'C:/ffmpeg.exe', // path to ffmpeg install
    },
}

After you configured the app to your liking. Go to public/index.html and configure the metadata to fit your needs.

<!-- metadata to change -->
<meta name="description" content="מערכת הצבעה לצילצול של פלך בנים">
<meta content="!הצביעו לצילצול הבא של פלך" property="og:title" />
<meta content="מערכת הצבעה לצילצול של פלך בנים" property="og:description" />
<meta content="https://vote.pelech.me" property="og:url" />
<meta content="#3a7ca5" data-react-helmet="true" name="theme-color" />

Once you finished run the build command.

npm run build

Now the app the ready to launch. To start the app run:

npm start

Contribute

Feel free to create pull request and suggest features.

I even challenge you break my app and tell me how! I would love to know.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published