This repository is an optional backend starter pack for new DALI React projects. Installation and setup instructions are included below. You should eventually customize this README file with project-specific documentation.
See the template repo's Wiki page.
[Screenshot description]
[2-4 screenshots from the app]
- aws-sdk
- @sendgrid/mail
- [Add any other notable external packages here]
[Describe notable code style conventions]
We are using [typically a configuration like CS52's React-Native ESLint Configuration or CS52's ES6 and Node ESLint Configuration]
Notes will store information about Author id, Student UUID, note content, initial issue or reason to meet, and date created.
[Detailed description should be moved to the repo's Wiki page]
.
├── ...
├── src
| └── auth # JWT middleware
| └── controllers # dispatch input; output
| └── db # Prisma database definitions
| └── errors # internal error handling
| └── routers # route url endpoint
| └── __tests__ # test cases for routers
| └── services # handles database queries and related functionality
| └── __tests__ # test cases for services
| └── util # util functions, usually used by services
| └── validation # validates input w/ joi
| └── server.ts # starting point of server
For more detailed documentation on our file structure and specific functions in the code, feel free to check the project files themselves.
For this setup, we will use MongoDB as the database Prisma operates upon. It should be relatively straightforward to use a different database (like Postgres) with the same code, if you so desire.
- Clone repo and
yarn install
- Create MongoDB Atlas database
- Set up SendGrid API (for email validation)
- Information about SendGrid API keys: https://docs.sendgrid.com/ui/account-and-settings/api-keys
- Set up Amazon AWS s3 bucket (for photo storage)
- Create a
.env
file in the root directory, according to the format specified by.env.example
- Run
yarn prisma db seed
to apply seeding to DB. - App should be ready for use now
yarn start
to run in production modeyarn run dev
to run with hot reloading
ESLint is set up in this project. To keep code clean, always remember to run yarn run lint
and fix any lint problems before merging into master.
TBD
The app is deployed on Expo
[What are the steps to re-deploy the project with any new changes?]
[How does one get access to the deployed project?]
- Marvin Escobar Barajas '25, Software Developer
We would like to thank [anyone you would like to acknowledge] for [what you would like to acknowledge them for].
Designed and developed by @DALI Lab
- Eric Lu '25
Additional credit goes to Adam McQuilkin '22, Ziray Hao '22, Jack Keane '22, Thomas Monfre '21 for developing the original DALI CRUD Template Backend, which this starter pack was evolved from.