A very simple web application that functions as basic blog / social media website. made using NodeJs, MongoDB, HTML, and CSS. You can manage multiple users using a RBAC system (Role Based Access Control) Similar to what is used in some AWS services. you can allow and block people from any action including registering into or viewing the website. This started as my portfolio page, but then expanded into what it currently is. The project is project is open source, and can be viewed in this github repository.
Status : Work in progress
Feedback for the user when they perform actions to confirm if their requests were accepted or declined, or if some error happened in the process.
Status : Done
Now Administrators can delete users if they see fit, the app can delete one or multiple users in one request.
Status : Done
I made it so that Administrators well be able to Add multiple users to multiple groups at once, to ease moving multiple users into or out of User Groups.
Status : Done
I created a system of User Groups to manage multiple users, and each User Group well have Access to Actions and Resources, helps to simplify managing large amount of users permissions. It's Similar system to what amazon uses to manage users access to data.
Status : Done
Users now can edit their profiles, add profile image, and cover image, change their display name, and add skills if they want.
Status : Done
The website allows the user to update their project or blog, through sub documents, and updated documents well be pushed to the top of the home page, based on what document got updated last.
Status : Done
Now the webapp can handle images, I'm using GridFs and GridFsBuckt to store and get the Image's data, I also made it so that it does not confuse images with similar names, and each image would be linked to the upload/comment/user id to avoid things getting mixed. I made the number of images limited to 9 in each post. However, that can be changed easily, but it still needs more work. I'm not sure how to pass values from the back end to the JS files of the front end yet, I don't think it's a hard thing to do. I also made it, so the blog can specify where images can appear within the text with it. Comments can only contain one Image.
Status : Done
I didn't like the old style, CUZ I started to think that it has a lot of “friction”, things like you have to click a button before posting something, definitely is not a good user experience. Also, I tried to add more "Depth" to the colors to make things stand out a bit more.
Status : Work in progress
I need to make sure that the passwords are not stored in “plain text” but first I need to either encrypt or hash them, hashing is a better option Since Once a text is hashed, there is no way of getting it back, but it can be compared, means even I can't know what users passwords are.
Status : Done
Now users can make accounts, log in and out of the website, the server well also remember who the users are, if they close the website and didn't log off, or if they, moved around different pages. that's based on some functions on the back end, and some basic cookies only checks for the users if they are logged in or not. So that users won't need to log in every time they do some action that requires authentication. Next I'll have to work on making posts, blogs, projects, and profile information.
Status : Done
I'm not good at security related things, and I think it is time to at least try Authenticate user, and keep them from editing and deleting other users documents
Status : Work in progress
It won't be just simple posts, I also want to be able to create blogs and update them over time, and display images in between text.
Status : Done
Now users can comment on posts Feed back is important, and I want a place where I can get some of it from people about what I'm doing, I can learn something from it, or others can learn from it.
Status : Done
Simple functions of every board website, I just want users to be able to upload text and images and those well be displayed based on date, not popularity
Status : Done
Now we can create users, and store them in our database, and the user is going to only require basic “information”. Basically no actually personal information, the user well have to make a UserID( A unique name that can't be duplicated) and UserName which is just a display name, and a password.
Status : Done
I managed to store data in the database, for now I'm only storing users, so that we can have the users info in the database to use it to authenticate users, so that they can have their own profiles, posts, blogs, and projects. I'm going to be working on authentication next to make sure that users can log in and log out. Also, I made have (error/success) messages for the users to make the experience a bit easier.
Status : Done
I managed to make a web app and host it on my computer, and I managed to connect a database to it, soon I'll be able to add data to the website, and store in the database, so that we don't lose the user's data when the server needs maintenance, or re-booting. Also managed to load a page on the web app when I requested to connect to the server.
Status : Done
The main goal for my website is to be able to enable the user/users to : Make profile (optional). Create Posts/Projects/Blogs/Comment on other users uploads. Update and edit the uploads. And all that has to be done in the back end, and I'm using NodeJS to host my web app. This is the first web app I ever made, I know that I could probably do these things using other frameworks, I usually would rather not use a framework and just make the thing my self, but that would take too much time. I'm planing to make my own tools instead of using a framework, but that's gonna have to wait for a few more years for now.
Status : Work in progress
Right now this website has only a “dark” mode this is because I prefer darker background and lighter font color, this makes it easier for me to look at the screen for longer times, however I know not a lot of people like this mode, so I'm going to make a light/dark mode switch.
Status : Done