News sharing and social media website.
Users create posts, follow eachother to view other users' posts, add likes to posts and more.
Front-End Technologies
- React + Hooks and Context API
- Webpack
- Babel
- SASS
- Axios
Back-End Technologies
- Node.js
- MongoDB
- Mongoose
- Express
- Passport.js
- Cloudinary
- Pug
This project was started with the objective to learn:
- Full-stack development with React, Node and MongoDB
- Scalable application architecture
- REST API design, development and best practices
- User sessions and authentication with Passport.js
- Modular and single-responsibility programming patterns
- Programmatic image manipulation and CDN interaction
- Comprehensive client and server-side input validation
- Custom webpack configuration for development and production modes
- CSS-BEM naming and styling methodologies
- Interactive user interface web design
- Multi-themed colour palette design
Run locally for development:
- Install dependencies with
npm i
oryarn
. - Copy and rename
variables.env.sample
tovariables.env
and populate with values. - Ensure your MongoDB server is running (mLab, Atlas or locally with
mongod
). - Ensure your Cloudinary credentials are correct.
- Run with
npm run dev
oryarn dev
.
API debugging and testing is done with Postman.
You will need the following environment variables:
Variable | Example Value |
---|---|
url |
http://localhost:8080 |
apiurl |
http://localhost:8080/api |
Once the Node and MongoDB servers are up and running as outlined in the installation and usage section then you are ready to consume the API with Postman.