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.
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).
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.
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'
To setup this project, you have to follow these simple steps. The required code to start the project is node.js and npm.
- Clone the repository by using the github cli, app, or the
git clone https://github.com/fairfield-programming/backend-server
command. - Run the
npm install
command to install all of the dependencies. - Run the
npm start
command to run the server ornpm test
to test the code.
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!
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.