On Opinions, you can create an account, share your opinions, and look at the opinions of others. While you can't counter their opinions directly, you can give them a like if you are feeling that sweet sweet reinforcement of your own beliefs--or downvote them to eternity, up to you
View Project Here: Opinions Social Network
Made with Node.js and Express, MongoDB and Mongoose, vanilla JavaScript, EJS, TailwindCSS, and Cloudinary. Node way, are we right?
To use this project as a base for your own project--expanding on what we've done so far--fork the project, clone it to your local machine, and work from there! Feel free to submit pull requests if you have any additions that go along with the theme of our project. A task list is down below with future suggested improvements.
npm install
- Create a
.env
file and add the following askey = value
- PORT = 2121 (can be any port example: 3000)
- DB_STRING =
your database URI
- CLOUD_NAME =
your cloudinary cloud name
- API_KEY =
your cloudinary api key
- API_SECRET =
your cloudinary api secret
Note: you will need to setup a cluster on MongoDB as well as create a cloudinary account to fill in the environment variables above
npm start
or
npm run dev
"autoprefixer": "^10.2.5",
"bcrypt": "^5.0.1",
"cloudinary": "^1.25.1",
"connect-mongo": "^3.2.0",
"dotenv": "^8.2.0",
"ejs": "^3.1.6",
"express": "^4.17.1",
"express-flash": "^0.0.2",
"express-session": "^1.17.1",
"method-override": "^3.0.0",
"mongodb": "^3.6.5",
"mongoose": "^5.12.3",
"morgan": "^1.10.0",
"multer": "^1.4.2",
"nodemon": "^2.0.7",
"passport": "^0.4.1",
"passport-local": "^1.0.0",
"postcss": "^8.2.13",
"tailwindcss": "^2.1.2",
"validator": "^13.6.0"
- Create a landing page for all opinions
- Create a login page
- Create a sign up page
- Make it so users can post their opinions
- Make it so users can delete their opinions
- Enable local auth
- Add upvote feature
- Added photo upload feature to meme out even harder
- Add usernames attached to opinions
- Optimize site performance
- Remove unused CSS
- Eliminate render blocking resources
- enable text compression
- Create a public user profile page to see created opinions and amount of upvotes
- Add a hover over opinion to see a mini window of more posts created by user & be able to click to their profile
- Enable users to update their opinions
- Add a downvote button
- Make photograph upload optional
- Limit downvote to one per user per post
- Limit upvote to one per user per post