Welcome to the getting started page! Here is all you need to know to get this repo up and running on your local machine, as well as good collaborative coding practices
- Clone this repository
git clone <repo-url>
- Run
npm i
at the root of the repository - Create a .env file and retrieve secrets from your tech lead
- Install IDE Extensions
- Enable format on save in your IDE
- Familiarize yourself with Helpful Commands, the Project Structure, and the steps for contributing.
- Here is the setup for MongoDB: https://docs.google.com/document/d/1Mm5qPrhTA3cCc3BH77-dNnEyhtKapYgfRzpPbtbzuvI/edit?usp=sharing **8. Here is also all meeting notes and documentation for this project: https://drive.google.com/drive/folders/1LqH1-ucbstLpjTwIK2JQkxmIUfA4Ghim?usp=sharing **
- Set up a MongoDB cluster and create a .env with the URI
- Edit the "One time setup" section above as needed, then execute those steps
- Turn on branch protections for main and develop branches
- Visit your repo on github.com
- Click the Settings button on the top bar
- Click the branches tab on the left sidebar
- Click add rule
- Click "Require a pull request before merging"
- Create
- See template-features.md for features included in this template repository.
- Here is the setup for MongoDB: https://docs.google.com/document/d/1Mm5qPrhTA3cCc3BH77-dNnEyhtKapYgfRzpPbtbzuvI/edit?usp=sharing **6. Here is also all meeting notes and documentation for this project: https://drive.google.com/drive/folders/1LqH1-ucbstLpjTwIK2JQkxmIUfA4Ghim?usp=sharing **
npm run dev
: Start your local development environment at http://localhost:3000npm run lint
: make sure Prettier and ESLint passnpm run lint:fix
: make sure Prettier and ESLint pass and try to automatically fix all issues (some ESLint issues must be resolved manually)git stash
: Temporarily remove all local changes to a branch and save them. Good when you need to hop to another branch without committing your current code.git stash apply
: Reapply most recent git stash.git merge orgin/master
: Pull all changes from the main branch to yours, good for resolving merge conflicts.
- Figma Link: https://www.figma.com/design/HzCe6vgiSWkTgUFL3iKF4y/Wireframe?node-id=0%3A1&t=2qHuL9jpPIQlrRQ6-1
- .github Github Actions CI/CD and Issue/PR templates
- docs Documentation - Documentation that came with the template repository
- public Assets for frontend Read More
- src All application code
This is a Next.js project bootstrapped with create-next-app
.
- Features
- Signup and login flow
- A table view of all clients in the database and able to search by name, address, or number
- Being able to see an individual client and their household members
- Flag feature for employees/users to see who to be wary when they come to the food pantry
- Check in and check out feature for employees/users to record the client
- Add new client for new clients who come to the food pantry
- Endpoints
- Clients (by ID)
- GET: to get an individual client
- DELETE: to delete a client by ID
- Check in (by ID)
- PUT: to change and update a client's boolean value 'isCheckedOff' to true or false
- Flag Client (by ID)
- PUT: to change and update a client's boolean value 'isFlagged' to true or false and their 'flagNotes'
- All Clients
- GET: to get all clients from database
- POST: to add a new client
- Clients (by ID)
- Next.js: We used Next.js in order to lessen the overhead of deploying a separate back-end, it provided tooling that would’ve otherwise had been installed seperately, such as built-in routing, serverless functions, middleware, etc.
- MongoDB
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
- NextAuth Documentation - learn about authentication and authorization with NextAuth
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!