Provides a UI for volunteer and volunteer session verification for Love's Kitchen.
Volunteers will sign in by scanning their driver's license and can check out by visiting the site. Volunteers should be able to see their sessions and general statistics related to them. An admin can manually set the passwords for volunteers to sign in by using Auth0. Admins should also be able to add notes to users or even sessions (e.g. "this person is a no-show", "this volunteer is great"), and add, edit, or delete them.
- React/NextJS
- MongoDB/Mongoose
utils/db-connect.ts
contains connection caching functionality for accessing MongoDB.
- Material UI
- Zod
- Jest
- ESLint
- Prettier
- VS Code
- Recommended extensions
- GitHub
- Pre-commit linting hook
Put an overview of the non-profit you are working with and what you are doing for them here.
git clone https://github.com/hack4impact-utk/[PROJECT NAME].git
pnpm install
Either ask a project lead for the .env.local
file or create your own. The .env.local
file should be in the root directory of the project. You need to have the following variables set:
Variable Name | Description |
---|---|
MONGODB_URI | URI for MongoDB database |
pnpm dev
Make sure you have finished all the setup steps in the Getting Started section and you can run the development server before building for production.
pnpm build
pnpm start
pnpm test
- Create a new branch in the format
[GITHUB USERNAME]/[SHORT FEATURE DESCRIPTION]-[ISSUE NUMBER]
- For example:
hack4impact-utk/add-login-page-1
- For example:
- Make changes on your branch, ensuring you adhere to our style guide and best practices (add links here when ready)
- Commit your changes and push them to GitHub
- Create a pull request from your branch to
main
- Ensure you diligently follow the pull request template
src/app
: Contains pages for the application using the NextJS App Routersrc/components
: Contains React components used across the project- There should be a folder for each component with an
index.ts
file that exports the component
- There should be a folder for each component with an
src/server/actions
: Contains functions that interact with the database through the Mongoose ODMsrc/server/models
: Contains Mongoose models for the databasesrc/services
: Contains functionality for interacting with external data sources (e.g. APIs)src/types
: Contains TypeScript types and interfaces used across the projectsrc/utils
: Contains utility functions used across the project