This is the repository for Hoagie Mail, a web app that sends emails to undergraduate listservs. It supports authentication using JWT tokens through the Hoagie and CAS system.
- First, clone the repository with the following. You will need to setup GitHub SSH keys to successfully run this command.
git clone https://github.com/HoagieClub/mail.git
- Run the Hoagie API locally.
- Rename
.env.local.txt
file to `.env.local' - Get the dependencies with:
yarn
- You can now run the server with
yarn dev
That's it! Hoagie Mail can now be accessed with http://localhost:3000
.
We use VSCode for development. Please install the following packages:
ESLint is particularly important, if everything is installed correctly, it will allow you to see style errors inside the editor which we use to make sure our code is tidy and consistent throughout the codebase (same as output from yarn lint
).
Always create new branches when adding new features. For example, let's say I am adding a delete button. I would do:
# Switch to new branch called delete-button
git checkout -b delete-button
When the main branch get updated, you want to run the following:
# If there were any new commits, rebase your development branch, for example delete-button
git checkout delete-button
git pull --rebase main
You may have to deal with merge conflicts; this will be visible and easier to deal with in VSCode. Here's a short video about how to do it.