mirror of
https://github.com/elder-plinius/R00TS.git
synced 2026-02-12 17:22:52 +00:00
83 lines
1.8 KiB
Markdown
83 lines
1.8 KiB
Markdown
# R00TS Backend Server
|
|
|
|
This is the backend server for the R00TS application, providing API endpoints for word and dataset management.
|
|
|
|
## Features
|
|
|
|
- RESTful API for word submissions and retrieval
|
|
- MongoDB integration for persistent data storage
|
|
- Automatic dataset creation and backup
|
|
- Production-ready configuration
|
|
|
|
## Prerequisites
|
|
|
|
- Node.js (v14 or higher)
|
|
- MongoDB (local installation or MongoDB Atlas account)
|
|
|
|
## Installation
|
|
|
|
1. Clone the repository (if you haven't already)
|
|
2. Navigate to the server directory:
|
|
```
|
|
cd server
|
|
```
|
|
3. Install dependencies:
|
|
```
|
|
npm install
|
|
```
|
|
4. Create a `.env` file based on the `.env.example` template:
|
|
```
|
|
cp .env.example .env
|
|
```
|
|
5. Update the `.env` file with your MongoDB connection string
|
|
|
|
## Running the Server
|
|
|
|
### Development Mode
|
|
|
|
```
|
|
npm run dev
|
|
```
|
|
|
|
This will start the server with nodemon, which automatically restarts when changes are detected.
|
|
|
|
### Production Mode
|
|
|
|
```
|
|
npm start
|
|
```
|
|
|
|
## API Endpoints
|
|
|
|
### Words
|
|
|
|
- `GET /api/words` - Get all words
|
|
- `POST /api/words` - Add or update a word
|
|
- `GET /api/words/stats` - Get word statistics
|
|
|
|
### Datasets
|
|
|
|
- `GET /api/datasets` - Get all datasets (limited info)
|
|
- `GET /api/datasets/:filename` - Get a specific dataset by filename
|
|
- `POST /api/datasets` - Create a new dataset snapshot
|
|
- `GET /api/datasets/recent/list` - Get recent datasets (limited to 5)
|
|
|
|
## Deployment
|
|
|
|
For production deployment, we recommend:
|
|
|
|
1. Set up a MongoDB Atlas cluster for your database
|
|
2. Update the `.env` file with your production MongoDB URI
|
|
3. Deploy to a hosting service like Heroku, Vercel, or DigitalOcean
|
|
|
|
## Data Migration
|
|
|
|
If you have existing data in localStorage that you want to migrate to the database:
|
|
|
|
1. Export your localStorage data
|
|
2. Use the import functionality (coming soon) to upload to the server
|
|
|
|
## License
|
|
|
|
See the main project license file.
|