Skip to content

lcnitdgp/LC-2021-auditions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

Audition Portal

Dynamic website built for conducting 2021 Literary Circle, NIT Durgapur auditions

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contact

About The Project

Product Name Screen Shot

An audition portal to dynamically create questions which are stored in a database.The candidates can answer the questions and club members can review responses of each candidate . An admin panel is created using React to review each response and create/update/delete questions . Questions and responses are stored in a mongoDB database which interact with the React frontend using an Express.js created API with token based user authentication .

Built With

The project utilises the following technologies :

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

  • Install Node

  • Install npm by runnning the following command on the terminal :

    npm install npm@latest -g
  • Install MongoDB

Installation

  1. Generate Google Client Id and Google client secret by creating a project on Google Developers Console.

  2. Create a project on MongoDB Atlas and get the connection URL to the cluster.

  3. Clone the repo

    git clone https://github.com/lcnitdgp/LC-2021-auditions.git
  4. Install NPM packages in the root, client and server directory.

    npm install
    cd client && npm install
    cd server && npm install
  5. Create .env files in both the client and server folders(to add the environment variables) and copy the following content into each :

    Client directory .env file :

        #Add the backend URL, ex - http://localhost:5000
        REACT_APP_BACKEND_URL=

    Server directory .env file :

        #Add the Google Client Id
        GOOGLE_OAUTH_CLIENT_ID=
        
        #Add the Google Client Secret
        GOOGLE_OAUTH_CLIENT_SECRET=
        
        #Add the Google callback has to be the same which was passed in the google console, ex - http://localhost:5000/auth/google/redirect
        GOOGLE_CALLBACK=
        
        #Secret to sign the JWT token , can be any random string
        SECRET=
        
        #Add the frontend URL, ex - http://localhost:3000
        FRONTEND=
        
        #Add the mongoDB connnection URL
        MONGO=
  6. To run the project run the following command in the root directory.

    npm start

Usage

A user who is an admin can create/update/delete questions which are correspondingly changed in the mongodb database. An admin user can also view the responses of each candidate and make other users an admin as well . A normal user can simply alter his profile and only once submit a response .

usage-1 usage-2 usage-3 usage-4 usage-5 usage-6 usage-7

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Email : [email protected]

Project Link: https://github.com/lcnitdgp/LC-2021-auditions

Acknowledgements