Codeial
Codeial is a social media platform that allows users to create posts, comment on them, like them, and chat with friends. Users can also log in using their Google account.
This project was built using the MERN stack (MongoDB, Express.js, React.js, and Node.js) and also uses Passport.js for authentication, Redis for caching, and Gulp for task automation. Additionaly it is using packages such as connect-flash, connect-mongo, cookie-parser, crypto, del, ejs, express-ejs-layouts, express-session, gulp-cssnano, gulp-imagemin, gulp-rev, gulp-sass, gulp-uglify-es, jsonwebtoken, kue, mongoose, morgan, multer, node-sass, node-sass-middleware, nodemailer, passport-google-oauth, passport-jwt, passport-local, redis-server, rotating-file-stream, run-sequence, socket.io
Getting Started
- Clone the repository:
git clone https://github.com/<username>/codeial.git
- Install dependencies:
npm install
-
Create a
.env
file with the following environment variables:MONGODB_URI
: the URI for your MongoDB databaseSESSION_SECRET
: a secret for encrypting session dataGOOGLE_CLIENT_ID
andGOOGLE_CLIENT_SECRET
: your Google OAuth client ID and secret
- Start the development server:
npm run dev
- The application will be available at
http://localhost:3000
Deployment
To deploy the application, you will need to set up a production environment with a MongoDB database and a Redis server. You can then build the client-side code with npm run build
and start the server with npm start
.
Features
- Create and view posts
- Comment on posts
- Like posts
- Chat with friends
- Login with Google
Technologies Used
- MERN stack
- Passport.js
- Redis
- Gulp
- connect-flash, connect-mongo, cookie-parser, crypto, del, ejs, express-ejs-layouts, express-session, gulp-cssnano, gulp-imagemin, gulp-rev, gulp-sass, gulp-uglify-es, jsonwebtoken, kue, mongoose, morgan, multer, node-sass, node-sass-middleware, nodemailer, passport-google-oauth, passport-jwt, passport-local, redis-server, rotating-file-stream, run-sequence, socket.io
Additional Resources
- MERN Stack Guide
- Passport.js
- Redis
- connect-mongo
- cookie-parser
- crypto
- del
- ejs
- express-ejs-layouts
- express-session
- gulp-cssnano
- gulp-imagemin
- redis-server
- rotating-file-stream
- run-sequence
Screenshot
Contributing
We welcome contributions to Codeial. If you want to help out, please open a pull request with your changes.