All Projects → proshoumma → Reforum

proshoumma / Reforum

Licence: mit
A minimal forum board application. Built on top of React-Redux frontend, ExpressJS-NodeJS backend (with PassportJS for OAuth) and MongoDB databse.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Reforum

Perk
A well documented set of tools for building node web applications.
Stars: ✭ 177 (-75.21%)
Mutual labels:  expressjs, passportjs
passport-magic
Magic is a Passport.js strategy that enables passwordless authentication middleware for any Express.js based application.
Stars: ✭ 35 (-95.1%)
Mutual labels:  expressjs, passportjs
Node Express Mongoose Passport Jwt Rest Api Auth
Node, express, mongoose, passport and JWT REST API authentication example
Stars: ✭ 146 (-79.55%)
Mutual labels:  expressjs, passportjs
Mern Stack Authentication
Secure MERN Stack CRUD Web Application using Passport.js Authentication
Stars: ✭ 60 (-91.6%)
Mutual labels:  expressjs, passportjs
typescript-express-passportjs
ExpressJs project uses TypeScript, PassportJS, Moongose, Continuous Integration (CircleCI.io) and Code Coverage (CodeCov.io)
Stars: ✭ 14 (-98.04%)
Mutual labels:  expressjs, passportjs
todo-list
A practical web application built with Node.js, Express, and MySQL for you to readily record, view, and manage your tasks with an account: Create, view, edit, delete, filter, and sort expenses are as easy as pie 🥧
Stars: ✭ 18 (-97.48%)
Mutual labels:  expressjs, passportjs
MovieGo
A Website implemented using MERN (MongoDB, ExpressJS, ReactJS and NodeJS) stack, which allows users to sign-in/register and book movie tickets online.
Stars: ✭ 26 (-96.36%)
Mutual labels:  expressjs, passportjs
node-express-mongo-passport-jwt-typescript
A Node.js back end web application with REST API, user JWT authentication and MongoDB data storage using TypeScript
Stars: ✭ 51 (-92.86%)
Mutual labels:  expressjs, passportjs
Attendance-Portal
We have developed a cutting-edge attendance recorder. Using face recognition, you can easily record attendance and have access to in-depth analysis and a wide range of functionalities. Because of the covid-19 pandemic, stringent guidelines have been established, and precautions must be made to minimise unnecessary physical encounters. As a resul…
Stars: ✭ 20 (-97.2%)
Mutual labels:  expressjs, passportjs
mini-express-boilerplate
A minimal Express boilerplate with passport user authentication, mongoose and some security setup configured
Stars: ✭ 15 (-97.9%)
Mutual labels:  expressjs, passportjs
express-mvc
A light-weight mvc pattern for express framework with minimum dependencies
Stars: ✭ 23 (-96.78%)
Mutual labels:  expressjs, passportjs
passport-examples
A variety of examples using PassportJS with ExpressJS and ReactJS applications
Stars: ✭ 44 (-93.84%)
Mutual labels:  expressjs, passportjs
Generator Express No Stress
🚂 A Yeoman generator for Express.js based 12-factor apps and apis
Stars: ✭ 534 (-25.21%)
Mutual labels:  expressjs
Serve Favicon
favicon serving middleware
Stars: ✭ 586 (-17.93%)
Mutual labels:  expressjs
Body Parser
Node.js body parsing middleware
Stars: ✭ 4,962 (+594.96%)
Mutual labels:  expressjs
Opine
Fast, minimalist web framework for Deno ported from ExpressJS.
Stars: ✭ 506 (-29.13%)
Mutual labels:  expressjs
Openuserjs.org
The home of FOSS user scripts.
Stars: ✭ 632 (-11.48%)
Mutual labels:  expressjs
Angular2 Express Starter
Angular 8 and Express 👪 ( Heroku ready )
Stars: ✭ 565 (-20.87%)
Mutual labels:  expressjs
Madclones
A collection of frameworks that I love with a strong focus on clean code, testing, software architecture/design and devops.
Stars: ✭ 480 (-32.77%)
Mutual labels:  expressjs
Typescript Rest
This is a lightweight annotation-based expressjs extension for typescript.
Stars: ✭ 458 (-35.85%)
Mutual labels:  expressjs

logo

ReForum

A minimal forum application built with the following technologies:

Application Features

  • Users can post a discussion
  • Users can reply their opinions regarding discussion
  • Users can favorite discussions
  • Users have their own profile page
  • Admin can create new forum categories
  • Admin have a lot of power over every users discussions and opinions :-p

Documentations

Home View

home view

Admin View

admin view

Deploy on you own server

Please make sure you have following software installed in your system:

  • Node.js > 6.0
  • NPM / Yarn
  • Git
  • MongoDB

First we need to clone the repository:

$ git clone https://github.com/shoumma/ReForum

Then we have to install the necessary dependencies using either NPM or Yarn:

$ npm i
$ yarn

Since the app currently uses GitHub authentication, we need to configure a GitHub OAuth application. You can register a new application from this link https://github.com/settings/developers

We need to grab the following information from the OAuth application.

  • Client ID
  • Client Secret
  • Callback URL

The Callback URL is the domain where GitHub will redirect the user after a successful login. You can use a domain name or local host. But we need to append the URL with the path /api/user/authViaGitHub/callback. So, the complete url will look like: https://localhost:8080/api/user/authViaGitHub/callback

Now, we need to configure the credentials inside of the codebase. Open the file config/credentials.js add the necessary information. The file looks like this:

module.exports = {
  GITHUB_CLIENT_ID: '',
  GITHUB_CLIENT_SECRET: '',
  GITHUB_CALLBACK_URL: '',
  DBURL: '',
};

We need to provide all the information here. You can notice that we need the database url here too. My local MongoDB url looks like:

mongodb://localhost:27017/reforum

Now we are ready to run the application. You can run either run the development environment of the application which will include Hot-Reload for JS codes using Webpack and the Redux dev tool extension, or you can run the production edition. The default port for developer edition is 8080, and for production is process.env.PORT.

To run the app in development environment:

$ npm run start:dev

To run the app in production environment:

$ npm run start

Now, if you visit http://localhost:8080 (if you ran the dev), or the production URL, you will see that the application is up and running. Congratulation! But, wait a minute, it's showing you Sorry, couldn't find the forum. That is because, we didn't create any forum yet. You can now sign up via github and then visit the admin panel with the url http://localhost:8080/admin. The application is currently configured in a way that, the first user will become the admin for the system.

Here we can create new forums and that forum will be displayed in the application. The first forum will be used as default forum.

Congratulation! You now have a clone of this application in your server. :-)

Path for Future Work

  • Add search functionality
  • Add unit tests for both backend and frontend
  • Ability to change the name and logo of the site from admin panel.
  • Make the installation process more interactive
  • Add multiple theme support.

License

MIT License. Do whatever you want to do. :-)

Conclusion

The application is created with lots of ♥. Any pull request, issues and contribution is very appreciated. It would be really great if we can take this application to the next level, where it can be used as a platform for forums.

Provash Shoumma

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].