This is a Flask-based SaaS application that allows users to view and vote on JSONL (JSON Lines) entries. Users can upvote or downvote entries, and earn points for participating in the majority vote. The application includes user authentication, a dashboard, a JSONL viewer, and a highscore board.
- User Authentication:
- Login
- Logout
- Forgot Password functionality
- Dashboard: Access to JSONL viewer and highscores
- JSONL Viewer:
- View random JSONL entries
- Upvote or downvote entries
- Skip entries
- Highscore Board: Track top users based on their voting accuracy
- PostgreSQL Database: Store user data, JSONL entries, and votes
- Backend: Flask (Python)
- Database: PostgreSQL
- ORM: SQLAlchemy
- Authentication: Flask-Login
- Containerization: Docker and Docker Compose
-
Clone the repository:
git clone <repository-url> cd <project-directory>
-
Make sure you have Docker and Docker Compose installed on your system.
-
Build and run the Docker containers:
docker-compose up --build
-
The application should now be running at
http://localhost:5000
- Register a new user account (you'll need to implement this functionality)
- Log in with your credentials
- Use the dashboard to navigate to the JSONL viewer or highscores
- In the JSONL viewer, you can vote on entries or skip them
- Check the highscore board to see your ranking
To upload your JSONL dataset:
- Implement a function to read the JSONL file and populate the
JSONLEntry
table in the database. - You can add this functionality to a management command or create an admin interface to upload the file.
.
├── app.py
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
├── README.md
└── templates
├── index.html
├── login.html
├── forgot_password.html
├── dashboard.html
├── highscore.html
└── jsonl_viewer.html
Contributions are welcome! Please feel free to submit a Pull Request.
[Add your chosen license here]
[Add your contact information here]