- React/NextJS
- MongoDB/Mongoose
utils/db-connect.tscontains connection caching functionality for accessing MongoDB.
- Material UI
- Zod
- Jest
- ESLint
- Prettier
- VS Code
- Recommended extensions
- GitHub
- Pre-commit linting hook
Hellbender Harm Resuction is a non profit that offers both harm reduction supplies for those that use drugs and community spaces/activities. We'll be working on a system that will help streamline the volunteering process and make it more user friendly.
git clone https://github.com/hack4impact-utk/[PROJECT NAME].gitpnpm installEither 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 devMake 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 buildpnpm startpnpm 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.tsfile 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