we-festify / festify

The best college/university fests and events management framework
https://we-festify.gitbook.io/festify/
Apache License 2.0
18 stars 14 forks source link
hacktoberfest jest mongodb nodejs reactjs web

What is Festify

Festify is a free and open-source framework for building fest management websites for colleges and universities. It is a one-stop solution for all the fests related activities. It is built with the MERN stack and is highly scalable and customizable.

Features

* - Upcoming

Tech Stack

Getting Started

Prerequisites

Installation

  1. Clone the repo

    git clone https://github.com/we-festify/festify.git
  2. Install NPM packages

    npm install
  3. Create .env files in the directories and add the fields mentioned in the .env.example files.

  4. Complete the configuration steps mentioned here as per your requirements.

  5. Run the client and server simultaneously in different terminals

    cd web
    npm start
    cd server
    
    # For testing data
    # To seed the database with mongoDB url from .env
    node seed
    # To seed the database with a custom mongoDB url
    node seed --url <mongoDB-url>
    # To clear the database before seeding
    node seed --clear --url <mongoDB-url>
    
    # For development
    npm run dev
    
    # For production
    npm run build
    npm start

Configuration

Razorpay

For the Razorpay payment gateway to work, you need to create a Razorpay account and add the credentials in the .env files. You can create a test account here.

Also, you need to add a webhook inside the Razorpay dashboard. The webhook URL should be https://<your-domain>/api/payment/verify. You can use ngrok to create a temporary domain for testing.

ngrok http 5000

# Output
Forwarding                    https://<random-string>.ngrok.io -> http://localhost:5000

# Add the webhook URL as https://<random-string>.ngrok.io/api/payments/verify

The webhook should be of type Payment and should be triggered only on Payment Captured and Payment Failed events.

Redis

For the Redis to work, you need to create a Redis account and add the credentials in the .env files. You can run a Redis server locally using Docker.

docker run --name redis -p 6379:6379 -d redis

Contributing

Contributions are always welcome!

See CONTRIBUTING.md for ways to get started.

Please adhere to this project's CODE_OF_CONDUCT.md.

Our valuable Contributors

License

Distributed under the Apache License 2.0. See LICENSE for more information.