Skip to content

Code for the sports news/blog website known as The Queen City Collective.

Notifications You must be signed in to change notification settings

Cooper-Adams/QueenCityCollective

Repository files navigation

The Queen City Collective is a sports news/blog representing the thoughts of my friend and I for Charlotte based professional sports teams. The thoughts and ideas presented in any articles hosted on this site are ours and ours alone, and we are not currently affiliated with the Carolina Panthers, Charlotte Hornets, Charlotte Football Club, or any other team/organization that may be mentioned. There will be no talk of betting, gambling, or fantasy sports anywhere throughout this site, and we are not professionals in any of those areas, so do not consider anything said to be advice.

This site was a personal project of mine to work on my full-stack development skills as well as to have an outlet for my thoughts on professional sports. It makes use of HTML, CSS, and JavaScript of course, but it also makes use of the NodeJS framework Express and Passport for backend support and authentication. In addition, EJS (Embedded JavaScript) is used for the view engine, which made templating the different views and displaying information a simple process.

The database of choice is the popular noSQL variant, MongoDB, which contains the information pertaining to articles and user profiles.

Articles are managed within the admin panel on the website, and cannot be created/updated/deleted without accessing the database directly or by visiting the admin panel with the correct profile credentials. Articles themselves are written in markdown and are converted to HTML when viewed in their pages. The markdown editor used is Marked, and the markdown is sanitized with DOMPurify.

Login and registration is available to the user through the site itself, or through multiple social media paths, which are Facebook, Google, and X (formerly Twitter). Usernames and passwords (or the references to the social media providers) are stored within the database, with passwords being hashed before being stored. Password hashing is done with the fantastic package known as bcrypt.

At the time of writing this, X's oauth implementation was not interacting with passport properly, so I made use of superfaceai's Passport Twitter Strategy.

About

Code for the sports news/blog website known as The Queen City Collective.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published