- 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
- 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
- Clone the repo
git clone https://github.com/FiniteLoop-NMAMIT/flc-website
- Install the dependencies:
Note Install pnpm if you do not have it already
npm i -g pnpm
pnpm i
- Generate prisma client
pnpm exec prisma generate
- 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
- 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.
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.
First, fork the project and clone it on your local machine. Follow the process given under this section to run and configure the project.
- Create a new branch
git checkout -b branch-name-here
- Make the appropriate changes for the issue you are trying to address or the feature that you want to add.
- 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.
- 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. - Wait for the pull request to be reviewed by a maintainer and make changes to the pull request if the reviewing maintainer recommends them.