99 lines
2.0 KiB
Markdown
99 lines
2.0 KiB
Markdown
# Project Name
|
|
|
|
Short description or introduction of your project.
|
|
|
|
## Table of Contents
|
|
|
|
- [About](#about)
|
|
- [Features](#features)
|
|
- [Installation](#installation)
|
|
- [License](#license)
|
|
- [Creators](#creators)
|
|
- [Contact](#contact)
|
|
|
|
## About
|
|
|
|
This is the backend for a forum you can self host. It is written in NodeJS and uses the Surrealdb database. It is a REST API that uses JSON for communication. It is uses the Express framework. Further it uses the following packages:
|
|
|
|
- auth-guardian: "^1.1.1",
|
|
- cookie-parser: "^1.4.6",
|
|
- cors": "2.8.5",
|
|
- dotenv: "^16.3.1",
|
|
- express: "^4.18.2",
|
|
- jsonwebtoken: "^9.0.2",
|
|
- surrealdb.node: "^0.3.0"
|
|
|
|
The frontend will be written in NextJS and will be a seperate repository.
|
|
This project is under development and is not ready for production.
|
|
|
|
## Features
|
|
|
|
- [x] User authentication
|
|
- [x] User registration
|
|
- [x] User login
|
|
- [x] User logout
|
|
- [x] User profile
|
|
- [x] User profile update
|
|
- [x] User profile delete
|
|
- [x] Create post
|
|
- [x] Like post
|
|
- [x] Comment on post
|
|
- [x] Save post
|
|
- [x] Comment on comment
|
|
- [x] Like comment
|
|
- [x] Save comment
|
|
- [x] Search posts
|
|
- [x] Search users
|
|
- [x] Trending posts
|
|
- [x] Most active users
|
|
- [x] Most liked posts
|
|
- [x] Most commented posts
|
|
- [x] Most saved posts
|
|
|
|
## Installation
|
|
|
|
### Prerequisites
|
|
NodeJS and NPM are required to run this project. You can download them [here](https://nodejs.org/en/download/).
|
|
|
|
### Clone
|
|
|
|
Clone this repository to your local machine using
|
|
|
|
```shell
|
|
git clone https://gitea.quiztimes.nl/kajvans/forum-backend.git
|
|
```
|
|
|
|
### Setup
|
|
|
|
Edit .env.example and rename it to .env. Fill in the required information.
|
|
|
|
### Install dependencies
|
|
|
|
Install the required dependencies using
|
|
|
|
```shell
|
|
npm install
|
|
```
|
|
|
|
### Running
|
|
|
|
Run the project using
|
|
|
|
```shell
|
|
npm start
|
|
```
|
|
|
|
## License
|
|
|
|
This project is licensed under the [MIT License](LICENSE) - see the [LICENSE](LICENSE) file for details.
|
|
|
|
## Creators
|
|
|
|
- kaj van schalkwijk
|
|
- ruben jimmink
|
|
|
|
## Contact
|
|
|
|
- GitHub: [Kajvan](https://github.com/kajvan) (for GitHub)
|
|
- Gitea: [Kajvans](https://gitea.quiztimes.nl/kajvans) (for Gitea)
|