This is the code of our project for the course CSE 446: Web Technologies
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.
-
- Each student must register with their name, email and Reg No.
- Each user have their own profile page containing the following things
- A profile photo, users can update them whenver they want
- A cover photo
- Number of followers
- Number of following
- Posts from that particular user.
-
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!
-
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.
-
Do let your friends know about your opinion by commenting on their posts!
-
Edit posts or comments if you change your mind or you want to improve them.
Post Edit Comment Edit - A very interesting News Feed where users can find their followed students' posts.
-
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!
-
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.
-
Got a common interest with some others? Gather together and share your ideas in Groups.
- You can create a new group.
- Post on the groups you are in to reach out to other group members!
- 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.
- 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.
-
Get instantly notified about others actions on your profile, posts and groups by our notification system implemented by socket.io.
-
- Create an election (only admins can do that)
-
Add Cheif Election Commissioner and multiple Election Commisioners for the election.
-
Add or delete candidate for various posts, e.g., Vice President, Executive Member etc.
- Get updated about all the past, present and upcoming elections in the election dashboard.
4. Vote for candidates once elections start.
- Once the voting time is over, users can take a look at the election results.
-
Download this repository.
-
If your mongodb server does not launches automatically use the following command-
{{path_to_mongodb}}/mongodb/bin/mongod --dbpath=/home/{{user_name}}/mongodb-data
-
Navigate to the folder ‘./sustcselife’ using cmd
-
Run the command
nodemon src/app.js -e hbs,js,css
-
The server will be up and running in your port 3005.
-
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.Backend - Node.js+Express.js+Cookie-Parser
Frontend - HTML+CSS+Bootstrap+Handlebars+Ajax
Database - MongoDB+MongooseMongoDB = db version v3.6.8
Nodejs = v10.19.0
NPM = 6.14.4