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.
*
- Upcoming
*
Marketing Campaigns (Email, Push)*
Scalable (Horizontal Scaling)Frontend
Backend
Communication Protocol
Message Broker
Package Manager
Database
Version Control
Clone the repo
git clone https://github.com/we-festify/festify.git
Install NPM packages
npm install
Create .env
files in the directories and add the fields mentioned in the .env.example
files.
Complete the configuration steps mentioned here as per your requirements.
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
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.
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
Contributions are always welcome!
See CONTRIBUTING.md
for ways to get started.
Please adhere to this project's CODE_OF_CONDUCT.md
.
Distributed under the Apache License 2.0. See LICENSE
for more information.