This is the source code for the Sauce For Your Thoughts API service.
Run npm install to download all of the necessary packages.
-
This application requires NodeJS on version
v7.10.0or av7.10.0compatible version. -
You will need to create a
variables.envfile. The file must contain aDATABASEconnection string, aSECRETstring for authentication,PORTfor the port number express should be listening to, andMAIL_HOST,MAIL_PORT,MAIL_USER,MAIL_PASSfor sending emails.
Run npm run watch to start the server.
The default port number is 8080 but can easily be overriden by setting a PORT in the variables.env file.
If everything has gone well, Express should now be listening to API requests.
- Standardize JSON that is expected by the server.
- Add route for adding a review.
- Skew mongoose object _id's.
- Reduce amount of data returned on requests to get all sauces.
- Impliment means to handle limit and page query params.
- Extend ability to handle different query params
- Add additional sauce parameters (label, smell, texture, etc.).
- Figure out way to manage user image uploads.
- Add 'staging' feature for sauces before they go out to public.
- Add way to handle when/if user reports inappropriate content.
- Create a Model that has a list of inappropriate/unacceptable words.
- Run user input through scanner to filter out unwanted language.
- Add different ways for users to filter through the sauces (i.e. by pepper, hottest, highest rated, etc.).
- Allow users to mark if they have tried a sauce already.
- Allow users to have favorite sauces.
- Allow users to follow other users.
- Standardize code documentation.
- Write tests.
- Look into Typescript and/or Java Spring for long-term migration.
- Look into switching from noSQL to SQL.
- Extend 'forgot password' system.
- Look into sending emails via node.
- Confirm email to activate account.
- Extend 'Add Sauce' page.
- Extend 'Add Review' section.