Project template to dive quickly into other projects. Developed by @adamripley98 and @ccabo1.
Stack used:
React
JavaScript framework for all viewsRedux
overarching application statePassport
user authentication (local, facebook, google)Node
JavaScript on the backendExpress
backend API libraryMongoDB
databaseAWS S3
image upload (drag and drop) and storageRedux Persist
persistent state between refreshes
To run the application, run npm start
. For more responsive hot-reloading on the backend and frontend, run npm run frontend
and npm run backend
concurrently.
Note: env.sh
file must contain: MONGODB_URI
, FACEBOOK_APP_ID
, FACEBOOK_APP_SECRET
, FACEBOOK_APP_CALLBACK
, GOOGLE_APP_ID
, GOOGLE_APP_SECRET
, GOOGLE_APP_CALLBACK
, SENDGRID_API_KEY
,SENDGRID_EMAIL
, and HOST_URL
- Replace all nalda images with riplo images
- Convert to simple nav bar (no sidebar)
- Change all components to have only one handleChange, get rid of individual handle change xxx methods
- Redo AWS with better style
- Change curator and admin names to be only users and admins:
RequireAdmin.js
,RequireLogin.js
,RequireCurator.js
,authChecking.js
- Make generic account page
Account.js
- Make generic admin page
- Make
InfoMessage.js
generic shared component - Uninstall unused packages
- Update read me with instructions on setting up mongo, fb oauth, google oauth, sendgrid, AWS, etc.
-
forgot.js
,verify.js
,register.js
email sent should be in helperMethods - Get rid of location
- Image upload stuff in its own component
- Size restrictions and type checking on images
- Change
contact.js
to beemail.js
and include all instances of sending email, get rid ofsendEmail.js
most likely. - Clean up excess CSS
- Delete user account functionality
- Get rid of AWS stuff
- Get rid of location
- Split up first and last name
- Don't make userId public (never pass to frontend). Potentially assign every user a public userId instead. Make checks to ensure people are accessing their own info (pass redux id to backend, compare with mongo id in a helper method)
- Change handleChangeFullName redux to be split into first and second
- Effective AWS S3
- Image upload in its own component
- Deleting images after content deletion
- Storing multiple sizes
- Delete user acount functionality