FiniteLoop-NMAMIT / flc-website

Official Repository of Finite Loop Club website.

Home Page:https://finiteloop.co.in

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Official website of Finite Loop Club!✨️

GitHub stars GitHub stars

Features

  • Custom public user profile pages
    • User details
    • ID Card
    • Certificates
      • Certificate verification
      • Download certificate
      • Share on Socials
    • Edit profile
  • Admin panel
    • Create/Delete Core team members
    • Create/Delete Events
    • Award certificates to participants and winners
    • Create teams and members [coming soon]
    • Other functions [Export data, etc.]
  • Teams & tasks feature
  • Razorpay payment gateway integration
  • Beautiful frontend with modern UI

Built with:

  • Next JS: React-based framework for building server-side rendered and statically exported web apps.
  • Typescript: Statically typed superset of JavaScript, adds type annotations to enhance code reliability & readability
  • TailwindCSS: Utility-first CSS framework
  • Planetscale: Highly scalable, globally distributed database
  • tRPC: Provides a simple, type-safe way to build APIs for TS & JS
  • zod: Type-safe, instance-based validation library for JavaScript.
  • React-query: Library for fetching, caching and updating asynchronous data in React apps
  • Prisma ORM: Modern, type-safe ORM for Node.js and TS
  • Razorpay: Payment gateway
  • React awesome reveal: Library for adding reveal animations to React components.
  • nProgress: Slim progress bar library for the loading progress.
  • superjson: Fast JSON serializer and deserializer.
  • react-hot-toast: Library for creating lightweight toasts

Note
This project was bootstrapped with create-t3-app

Running the Project

  1. Clone the repo
git clone https://github.com/FiniteLoop-NMAMIT/flc-website
  1. Install the dependencies:

Note
Install pnpm if you do not have it already npm i -g pnpm

pnpm i
  1. Generate prisma client
pnpm exec prisma generate
  1. Copy and Rename the .env.example to .env, place it in the root directory and fill the essential vars.
cp .env.example .env

Warning
Do not rename the original .env.example, it is used to keep track for env vars list as .env with values is gitignored

  1. Run the development server:
pnpm dev

Open port 3000 on localhost with your browser to see the result.

Additional:

pnpm exec prisma studio

to use Prisma Studio(visual editor).

Open port 5555 on localhost with your browser.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. While sending the PR please mention the issue in the Comment. Thank you.

Development

First, fork the project and clone it on your local machine. Follow the process given under this section to run and configure the project.

  1. Create a new branch
git checkout -b branch-name-here
  1. Make the appropriate changes for the issue you are trying to address or the feature that you want to add.
  2. Stage & commit the changes, and push them to your fork.
//Staging changes
git add insert-paths-of-changed-files-here
//Commiting changes
git commit -m "Insert a short message of the changes made here"
//Pushing changes
git push origin branch-name-here.
  1. From your branch that you are working on, give a PR to our develop branch. Title the pull request with a short description of the changes made and the issue or bug number associated with your change. In the description of the pull request, explain the changes that you made, any issues you think exist with the pull request you made, and any questions you have for the maintainer.

    Warning
    Don't give a PR to the main branch, we accept PRs only on develop branch.

  2. Wait for the pull request to be reviewed by a maintainer and make changes to the pull request if the reviewing maintainer recommends them.

Contributors