A website revamp for HoMEwork, an organization focused on providing community outreach for post-incarcerated inviduals. This website aims to declutter the original website while adding modular features that allow the website to grow with the organization. These features include resources for future and past events, contacting and donating pipelines, and a consistently updating news page.
This website adds an admin portal to facilitate website integration into organization operations, including a custom calendar with attendance tracking and photo and document uploading pipelines.
Before starting development, make sure you have these tools installed:
- Node.js - this is our JS runtime
- Npm - this is our package manager
- Postman - helpful for testing API routes
- MongoDB Community - necessary if you want to run database locally
To define and manage environment variables, make sure to maintain .env
files in both the frontend
and backend
directories. Ensure that .env
is specified in your root .gitignore
file to prevent pushing secrets. This should already be the case, but the secret scanner hook will check for this if something gets changed
Add the .env.frontend
and .env.backend
from the project google drive to their respective directories in your local branch.
cd backend
- Run
npm install
to install all dependencies - If running the database locally, make sure to start mongod
npm run start
to start the backend
If this works properly you should see a message in the terminal saying > Listening on port 4000
cd frontend
- Run
npm install
to install all dependencies - Run
npm run dev
to start development server - Server is started on port 3000. Follow this url and you should see the development page.
Run these commands in the backend
or frontend
directories for linting and formating. Be sure to run these commands before pushing to github.
npm run lint-fix
- fixes all auto-fixable lint errors and reformats codenpm run lint-check
- check all lint errors or code style issues without modifying any files