{"id":14967760,"url":"https://github.com/rohit-gohri/inno","last_synced_at":"2025-10-25T21:32:03.212Z","repository":{"id":49182430,"uuid":"50721655","full_name":"rohit-gohri/inno","owner":"rohit-gohri","description":"A website for college festivals","archived":false,"fork":false,"pushed_at":"2022-10-23T22:28:19.000Z","size":27978,"stargazers_count":8,"open_issues_count":0,"forks_count":7,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-31T10:51:11.259Z","etag":null,"topics":["express","expressjs","fest","festival","hacktoberfest","inno","jade","mailgun","mongo","mongodb","nodejs","nsit","nsut","tech-fest"],"latest_commit_sha":null,"homepage":"https://inno.fly.dev/","language":"Pug","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rohit-gohri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-01-30T11:21:08.000Z","updated_at":"2023-08-26T11:34:55.000Z","dependencies_parsed_at":"2023-01-20T13:46:23.033Z","dependency_job_id":null,"html_url":"https://github.com/rohit-gohri/inno","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rohit-gohri%2Finno","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rohit-gohri%2Finno/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rohit-gohri%2Finno/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rohit-gohri%2Finno/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rohit-gohri","download_url":"https://codeload.github.com/rohit-gohri/inno/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238212426,"owners_count":19434955,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["express","expressjs","fest","festival","hacktoberfest","inno","jade","mailgun","mongo","mongodb","nodejs","nsit","nsut","tech-fest"],"created_at":"2024-09-24T13:38:34.036Z","updated_at":"2025-10-25T21:32:01.615Z","avatar_url":"https://github.com/rohit-gohri.png","language":"Pug","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Inno - A fest website\n\n## [Preview](https://inno.fly.dev/)\n\nThe site has been deployed using Fly.io and MongoDB Atlas at \u003chttps://inno.fly.dev/\u003e\n\n[![Home Page](./temp/home_page.png)](#Homepage)\n\n![Events Page](./temp/events.png)\n\n## The site features the following functions :\n\n1. Login/Register using FB and Local\n2. Automatic generation of unique IDs for all users on successful registration (INNO-ID)\n3. Admin and Event Manager(EM) accounts with special functions\n4. Create events and update operations for EMs\n5. Ability to register for events by users\n6. View participants and export to Excel for EMs\n7. Automatic mailing through Mailgun on registration\n8. Mass mailing to all registered users through Mailgun\n\n## Installation\n\n### Requirements\n\n- nodejs 14.x\n\n    Check that you have node and npm(comes with node) successfully installed:\n\n    ```sh\n    node -v\n    npm -v\n    ```\n\n- mongodb 4.4\n\n    Follow the official instructions at:\n    \u003chttps://docs.mongodb.com/manual/administration/install-community/\u003e\n\n### Steps\n\n1. Clone the project using git and cd into it:\n\n    ```sh\n    git clone https://github.com/rohit-gohri/inno.git\n    cd inno\n    ```\n\n1. Run npm install - this installs all the dependencies of the project (found in package.json) :\n\n    ```sh\n    npm install\n    ```\n\n## Config File\n\nThere is a `config/default.json` config file that provides default value \nAdd a `production.json` and `development.json` file in the `config` directory. These files are used to store API keys and various other variable configurations like : site-url, contact-form-email, etc. Only add the things you want to overwrite in `default.json`.\n\nIt needs to have the following format :\n\n```json\n{\n  \"mailgun\": {\n    \"auth\": {\n      \"api_key\": \"\u003cyour-mailgun-api-key\u003e\",\n      \"domain\": \"\u003cdomain-registered-on-mailgun\u003e\"\n    }\n  },\n  \"url\": \"\u003cdomain-name-on-which-this-is-setup\u003e\",\n  \"hashids\": {\n    \"secret\": \"\u003chash-secret-for-unique-id-generation\u003e\",\n    \"no_chars\": 4,\n    \"chars\": \"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890\"\n  },\n  \"contactEmail\": \"\u003cemail-for-contact-form\u003e\",\n  \"dbhost\": \"\u003cmongodb-host-url\",\n  \"sessionSecret\": \"\u003csession-secret\u003e\",\n  \"fb\": {\n    \"clientID\": \"\u003cFB-app-id-for-login\u003e\",\n    \"clientSecret\": \"\u003cfb-app-secret\u003e\",\n    \"callbackURL\": \"\u003csite-url\u003e + /login/fb/callback\"\n  }\n}\n```\n\n### Mailgun API Key\n\nThis is used for sending emails. Signup and get your own key here: \u003chttps://www.mailgun.com/email-api/\u003e\n\n### FB Client ID and Secrets\n\nThis is used for Login with Facebook. Create your own app and get your own key here: \u003chttps://developers.facebook.com/docs/development/create-an-app/\u003e\n\n## Run\n\n- Development (localhost) - this will read overrides from `config/development.json`\n\n    ```sh\n    npm run dev\n    ```\n\n- Development Watch Mode (uses nodemon)\n\n    ```sh\n    npm run dev:watch\n    ```\n\n- Production - this will read overrides from `config/production.json`\n\n    ```sh\n    npm run start\n    ```\n\n- Production PM2\n\n    ```sh\n    pm2 start ecosystem.config.js --env production\n    ```\n\n### Admin Access\n\nTo get access to admin panel, you'll have to manually mark a user as `is_admin: true` in the DB. \nYou'll need [MongoDB Compass](https://www.mongodb.com/products/compass) or other similar tool for it.\n\n\u003cdetails\u003e\n \u003csummary\u003eClick to expand detailed steps.\u003c/summary\u003e\n\n1. Connect to DB\n\n\t\u003cimg width=\"638\" alt=\"image\" src=\"https://user-images.githubusercontent.com/31949290/113467209-32cc8400-945f-11eb-8a7e-aed866c666fb.png\"\u003e\n\n2. Select `inno-site` DB\n\n\t\u003cimg width=\"684\" alt=\"image\" src=\"https://user-images.githubusercontent.com/31949290/113467220-40820980-945f-11eb-9bac-a4c0f46123e1.png\"\u003e\n\n3. Select `accounts` collection\n\n\t\u003cimg width=\"752\" alt=\"image\" src=\"https://user-images.githubusercontent.com/31949290/113467225-54c60680-945f-11eb-94f9-afd6e58a70e6.png\"\u003e\n\n4. Set `is_admin: true` for the required user\n\n\t\u003cimg width=\"1013\" alt=\"image\" src=\"https://user-images.githubusercontent.com/31949290/113467264-99ea3880-945f-11eb-93f9-217c80c098a3.png\"\u003e\n\n5. After that if you go to profile you'll have these extra buttons (also a button to add other event managers)\n\n\t\u003cimg width=\"528\" alt=\"image\" src=\"https://user-images.githubusercontent.com/31949290/113467307-cb630400-945f-11eb-9b6a-85c24c6dfd5f.png\"\u003e\n\n6. And if you are an Admin or an Event Manager (EM) you'll get access to edit event details and see participant info on event page\n\n\t\u003cimg width=\"499\" alt=\"image\" src=\"https://user-images.githubusercontent.com/31949290/113467375-3f9da780-9460-11eb-841f-3870928e4220.png\"\u003e\n\n\u003c/details\u003e\n\n\n## Contributors\n\n### [Code](https://github.com/rohit-gohri/inno/graphs/contributors)\n\nSee Github Contributors: \u003chttps://github.com/rohit-gohri/inno/graphs/contributors\u003e\n\n### [Homepage](https://github.com/rohit-gohri/inno/tree/master/public/assets/robot)\n\n#### Animations \u0026 Illustrations By [Utkarsh Yadav](https://github.com/utkarshyadav5): @utkarshyadav5\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frohit-gohri%2Finno","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frohit-gohri%2Finno","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frohit-gohri%2Finno/lists"}