An open API service indexing awesome lists of open source software.

https://github.com/lat0s/flossophyrest

🪶RESTAPI for Flossophy using Koa.js and MongoDB.
https://github.com/lat0s/flossophyrest

backend backend-api javascript koa koajs koajs-starter-template rest rest-api restapi

Last synced: 4 months ago
JSON representation

🪶RESTAPI for Flossophy using Koa.js and MongoDB.

Awesome Lists containing this project

README

          

[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]
[![LinkedIn][linkedin-shield]][linkedin-url]





Logo

Flossophy Rest API


🪶RESTAPI for Flossophy using Koa.js and MongoDB.


Explore the docs (!WIP!) »




View Demo (!WIP!)
·
Report Bug
·
Request Feature


Table of Contents



  1. About The Project



  2. Getting Started


  3. Usage

  4. Roadmap

  5. Contributing

  6. License

  7. Contact

  8. Acknowledgments

## About The Project

(back to top)

### Built With

- [![Node.js][Node]][Node-url]
- [![Koa][Koa]][Koa-url]
- [![MongoDB][Mongo]][Mongo-url]

Also uses:
- Nodemailer
- Argon2
- Jsonwebtoken

(back to top)

## Getting Started

Following the guide with steps listed below will help you run this application.

### Prerequisites

- [Node.js](https://nodejs.org/en) Latest Version
- [MongoDB](https://www.mongodb.com/) Locally hosted or Atlas (please look elsewhere for details on how to install them.)

### Installation

1. Clone the repo
```sh
git clone https://github.com/lat0s/FlossophyREST.git
```


2. Navigate to `/app` directory, open a new terminal and write the following command

```sh
npm install
```


3. Create a new empty file named `.env` or rename `.env.example` => `.env`


4. Enter the following in `.env` (skip if you renamed the `.env.example`)
```js
SMTP_SERVICE=
SMTP_USER=
SMTP_PASS=
EMAIL_FROM=
MONGODB_URI=";
```


5. Look [here](https://medium.com/@deepbag/how-to-send-mail-using-nodemailer-for-free-f8e3df6f7cf6) for more information. I personally used Gmail and followed the instructions on the link. If u follow the guide then the password in `SMPT_PASS` should be the one u copied from the App Password. The `SMTP_USER` should be the Gmail address and the `SMTP_SERVICE=gmail`.


6. Run the application
```sh
node app.js
```

(back to top)

## Usage

This REST API is intented for usage within the Flossophy Full-Stack Project (!WIP!).

(back to top)

## Roadmap

- [ ] N/A

See the [open issues](https://github.com/lat0s/FlossophyREST/issues) for a full list of proposed features (and known issues).

(back to top)

## Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star⭐! Thanks again!

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

(back to top)

## License

Distributed under the Apache 2.0 License. See `LICENSE.txt` for more information.

(back to top)

## Contact

X - [@lat0ss](https://twitter.com/lat0ss)
Discord - [@lesbiathan](https://discord.com/users/989771998899109951)

Project Link: [https://github.com/lat0s/FlossophyREST](https://github.com/lat0s/FlossophyREST)

(back to top)



##



[Nodemailer-url]: https://www.nodemailer.com/
[Mongo]: https://img.shields.io/badge/MongoDB-47A248?logo=mongodb&logoColor=fff&style=flat-square
[Mongo-url]: https://www.mongodb.com/
[Node]: https://img.shields.io/badge/Node.js-5FA04E?logo=nodedotjs&logoColor=fff&style=flat-square
[Node-url]: https://nodejs.org/en
[Koa-url]: https://koajs.com/
[Koa]: https://img.shields.io/badge/Koa-33333D?logo=koa&logoColor=fff&style=flat-square
[contributors-shield]: https://img.shields.io/github/contributors/lat0s/FlossophyREST.svg?style=for-the-badge
[contributors-url]: https://github.com/lat0s/FlossophyREST/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/lat0s/FlossophyREST.svg?style=for-the-badge
[forks-url]: https://github.com/lat0s/FlossophyREST/network/members
[stars-shield]: https://img.shields.io/github/stars/lat0s/FlossophyREST.svg?style=for-the-badge
[stars-url]: https://github.com/lat0s/FlossophyREST/stargazers
[issues-shield]: https://img.shields.io/github/issues/lat0s/FlossophyREST.svg?style=for-the-badge
[issues-url]: https://github.com/lat0s/FlossophyREST/issues
[license-shield]: https://img.shields.io/github/license/lat0s/FlossophyREST.svg?style=for-the-badge
[license-url]: https://github.com/lat0s/FlossophyREST/blob/main/LICENSE.txt
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/latosgeorge
[product-screenshot]: images/screenshot.png
[Next.js]: https://img.shields.io/badge/next.js-000000?style=for-the-badge&logo=nextdotjs&logoColor=white
[Next-url]: https://nextjs.org/
[React.js]: https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB
[React-url]: https://reactjs.org/
[Vue.js]: https://img.shields.io/badge/Vue.js-35495E?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D
[Vue-url]: https://vuejs.org/