Skip to content

Finite-Loop-Club-NMAMIT/flc-website-legacy

Repository files navigation

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

Project Setup

  1. Fork the project to your account
  2. Clone your fork to your local system
git clone <your fork URL here>
  1. Install the dependencies:

Note Install pnpm if you do not have it already npm i -g pnpm. You can use npm if you wish to.

pnpm i
  1. Generate prisma client
pnpx prisma generate
  1. Copy and Rename the .env.example to .env, place it in the root directory and fill the essential vars (Contact the maintainer on Discord for test credentials)
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 website.

Additional:

pnpx prisma studio

to use Prisma Studio(visual editor).

Open port 5555 on localhost with your browser.

Contribution

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. 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 .
//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 dev 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 dev 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