Skip to content

πŸ“  The backend of the Fairfield Programming Association website.

License

Notifications You must be signed in to change notification settings

MassiGy/backend-server

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NOTICE

This repository is being archived in favor of a new backend server built in Bun.js. The new server will have a much clearer architecture with documentation and focus on maintainability. On top of this, the new repository will have a clearer focus with new issues and progress reports each week.


Backend Server

Code Score GitHub contributors GitHub commit activity Website GitHub issues GitHub Workflow Status GitHub Org's stars GitHub top language Dependencies

Features

Duck Generator

We didn't want to use people's faces for the profile pictures. This was for three reasons: we didn't want to pay for hosting the image files, we were scared of what people would upload, and since our main audience is minors, we didn't want their faces to be publicly available. To solve these problems, we decided to use rubber duck avatars instead of photos. Users are able to customize their ducks by adding glasses, hats, items, etc (and they can even set their own colors).

Cool Duck Red Duck Blue Duck Outline Duck Brown Duck

Authentication Support

We realized early on that there needed to be support for users subscribing to events, email lists, and team features. To do this, we needed the ability for users to create accounts and sign into them. To do this, we added an authentication system that uses many of the strongest security protocols offered today. On top of this security, we built our API to be as strict as possible so that fake accounts cannot be easily created and users with improper credentials cannot mess with accounts.

Joke API

I was really bored and also thought it would be a nice feature, so I added a joke API. The whole point of it is that you can query it and get a random joke about ducks. I am not really sure why I picked ducks, but I think that there is something cute and pure about them. Did you know ducks mate for life? My dad taught me that, I guess this API is dedicated to him. If you want to query the Duck Joke API, you can use any of the below links.

Why did the duck go to the chiropractor? To get its back quacked.

/joke         # gets a random joke
/jokes/count  # gets the amount of jokes the api has
/jokes/random # gets a random joke
/jokes/1      # gets a joke with an id of '1'
/jokes/3      # gets a joke with an id of '3'

Setup

To setup this project, you have to follow these simple steps. The required code to start the project is node.js and npm.

  1. Clone the repository by using the github cli, app, or the git clone https://github.com/fairfield-programming/backend-server command.
  2. Run the npm install command to install all of the dependencies.
  3. Run the npm start command to run the server or npm test to test the code.

Contribute

If you simply star the repo, this helps us out tremendiously. Past that, if you share this repo with your friends, that helps a lot too. If you are feeling super generous, then you can find some issues that you have with the website and try to help us with them. You can also contribute to some of our other projects!

GitHub labels GitHub labels GitHub labels GitHub labels

To start helping, you can click some of the above labels to jump to the pages with issues. Or, you can submit an issue by clicking the last button.

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.3%
  • HTML 2.6%
  • Dockerfile 0.1%