Laddy
🚀 Analogous to A2OJ Codeforces practice ladders
Install / Use
/learn @ironsoul0/LaddyREADME

Important: The web app is inspired by A2OJ which is retired by now. All of the ladders content belong to Ahmed Aly.
Idea
Solve Codeforces problems from the ladders that correspond to your rating and improve your skills.
Organized
Join the ladders you want to solve and track your progress.
Beautiful
Clean design with the focus on details.
Setup
Prerequisites
- Install PostgreSQL and Redis on your computer.
- Add a PostgresSQL user with the desired username and no password. (You can change what these values are in the ormconfig.js)
- Create database called
laddyusing the user you have created.
Filling environmental variables
In order to work on Laddy locally, you must assign values to some env. variables both in the client and server folders. This could be done by creating and filling .env files.
-
Client:
- REACT_APP_GRAPHQL_URI: URL for the GraphQL server. (
http://localhost:4000/graphqlby default)
- REACT_APP_GRAPHQL_URI: URL for the GraphQL server. (
-
Server:
- ACCESS_TOKEN_SECRET: Secret used for signing JWT tokens on the backend.
- APP_URL: Your app base URL. (
http://localhost:3000by default) - SMTP_LOGIN, SMTP_PASS, SMTP_NAME: Settings for email delivery service. Laddy uses Yandex Mail for this purpose.
Install
git clone https://github.com/ironsoul0/laddy.git
cd laddy
npm install
npm run bootstrap
Run
npm start
Seed data
To seed the database with some test data, use the following command. Be aware that it drops the database first.
npm run fill-data
Contributing
Laddy is an open source project. Feel free to contribute and suggest any improvements. All bugs and issues should be reported to the issues tab.
This repository is a monorepo for both client and server parts of the website. Both client and server are written in TypeScript and use safe type-checking. Client uses React and Apollo, while server uses GraphQL and PostgreSQL database.
Acknowledgements
- Thanks to Ahmed Aly for the creation of A2OJ and generating ladders.
License
This project is open source and available under the MIT License.
Related Skills
node-connect
347.6kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.6kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.6kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
