saba-phoenix / SUST-CSE-Community-Forum

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SUST-CSE-Community-Forum

This is the code of our project for the course CSE 446: Web Technologies

image

SUST-CSE-Community-Forum-Descriptions

This website enables the students of SUST CSE to get connected with their friends, seniors and juniors from the department, Share and discuss ideas based on common interests in different groups. It also has a functionality to host and manage SUST CSE Society Elections.

  • A Platform to connect with department people

    1. Each student must register with their name, email and Reg No.

    image

    1. Each user have their own profile page containing the following things
      1. A profile photo, users can update them whenver they want
      2. A cover photo
      3. Number of followers
      4. Number of following
      5. Posts from that particular user.

    Screenshot from 2021-08-01 22-53-22

    1. Follow friends, seniors and juniors from the department to have their latest post in the news feed by just clicking on the Follow button on their profile!

    2. Want to ask any question, share something cool (be it a thought, meme or video)? Post on SUSTCSE life in whatever format you want - Text, Image, Text + Image, PDF, MP4 etc.

    3. Do let your friends know about your opinion by commenting on their posts!

    4. Edit posts or comments if you change your mind or you want to improve them.


    Post Edit Comment Edit
    1. A very interesting News Feed where users can find their followed students' posts.

    image

    1. The watch page allows user to watch videos uploaded by friends with a video player, where users can pause, full screen or jump to their favourite part of the video!

    2. There might be some people in your department that you have not been connected with. Don't miss out! We have gathered some People you may know in the Peoples page.

    Screenshot from 2021-08-01 23-18-29

    1. Got a common interest with some others? Gather together and share your ideas in Groups.

      1. You can create a new group.
      2. Post on the groups you are in to reach out to other group members!
      3. If you are an admin, you can review group requests, assign some members to admin postion, remove from admin and monitor (and delete, if necessary) group posts.

      Screenshot from 2021-08-01 23-21-42

      1. If you have found just the perfect group for you, don't hesitate! Drop a join request with a message to the admins about why you want to be in the group.

      Screenshot from 2021-08-01 23-21-19

    2. Get instantly notified about others actions on your profile, posts and groups by our notification system implemented by socket.io.

    • A platform to host and manage CSE Society Elections

      1. Create an election (only admins can do that)

      image

      1. Add Cheif Election Commissioner and multiple Election Commisioners for the election.

      2. Add or delete candidate for various posts, e.g., Vice President, Executive Member etc.

      image

      1. Get updated about all the past, present and upcoming elections in the election dashboard.

      image 4. Vote for candidates once elections start.

      1. Once the voting time is over, users can take a look at the election results.

    Server up instruction

    1. Download this repository.

    2. If your mongodb server does not launches automatically use the following command-

       {{path_to_mongodb}}/mongodb/bin/mongod --dbpath=/home/{{user_name}}/mongodb-data     
      
    3. Navigate to the folder ‘./sustcselife’ using cmd

    4. Run the command

       nodemon src/app.js -e hbs,js,css
      
    5. The server will be up and running in your port 3005.

    6. Access the website from your browser using the address : localhost:3005

    user_name = Your username on your Linux Machine.
    -dbpath parameter takes the path of the ‘mongodb-data’ file. You can change it accordingly.

    We used the following languages/Framework/database in our project:

    Backend - Node.js+Express.js+Cookie-Parser
    Frontend - HTML+CSS+Bootstrap+Handlebars+Ajax
    Database - MongoDB+Mongoose

    Versions:

    MongoDB = db version v3.6.8
    Nodejs = v10.19.0
    NPM = 6.14.4

About

License:Apache License 2.0


Languages

Language:JavaScript 48.5%Language:Handlebars 32.1%Language:CSS 13.7%Language:SCSS 5.7%