Dork Welcome to our Dork Application! This project uses the Codeforces API to allow users to solve problems in over 30 different data structures and algorithms concepts, including constructive algorithms, bit manipulation, sorting, strings, and more.
You can view the live application here: Dork Application
- Frontend: JavaScript, CSS, EJS
- Backend: Node.js, Express
- API Fetching: Axios
- Database: PostgreSQL
- Cloud Storage: Supabase
- Hosting: Vercel
- Description: A module for sending emails from Node.js applications.
- Usage: Used to handle email communication, such as sending registration or notification emails.
- Description: A minimal and flexible Node.js web application framework providing a robust set of features.
- Usage: Used to build the web server, handle HTTP requests, and define routes for the application.
- Description: Middleware for handling sessions in Express.js applications.
- Usage: Manages user sessions, storing session data across multiple requests to maintain user state.
- Description: Middleware to parse incoming request bodies in various formats (JSON, URL-encoded, etc.).
- Usage: Parses request bodies to make them accessible in
req.body, simplifying data handling in routes.
- Description: A library for hashing and verifying passwords.
- Usage: Provides secure password hashing and comparison, enhancing authentication security.
- Description: Middleware for handling
multipart/form-data, primarily used for file uploads. - Usage: Handles file uploads from forms, storing uploaded files and making them accessible in the application.
- Description: PostgreSQL client for Node.js.
- Usage: Connects to and interacts with a PostgreSQL database for data storage and retrieval.
- Description: A promise-based HTTP client for making requests to external APIs.
- Usage: Facilitates communication with external services or APIs by making HTTP requests and handling responses.
- Description: A timezone-aware extension for the
momentlibrary. - Usage: Parses, manipulates, and displays dates and times across various time zones.
- Description: Middleware for obtaining the client IP address from the request.
- Usage: Retrieves and processes the IP address of the client making the request, useful for logging or geo-location.
- Description: A module for loading environment variables from a
.envfile intoprocess.env. - Usage: Manages environment-specific variables like database URLs and secret keys, enhancing configuration flexibility.
- Description: Node.js core module for creating HTTP servers and clients.
- Usage: Part of the Node.js core modules, used to create and manage HTTP servers and clients without needing additional installation.
-
Create a
.envfile: Place this file in the root directory of your project to store environment variables. -
Install Dependencies: Run the following command to install all required packages:
npm install nodemailer express express-session body-parser bcrypt multer pg axios moment-timezone request-ip dotenv
-
Configure the Environment: Ensure your
.envfile includes necessary variables such asDATABASE_URLfor PostgreSQL connection and any other configuration needed for your application.
You can view the live application here: Dork Application
The application will run on port 3000. To access it locally on your network, find your IP address using the ipconfig command and visit http://<YOUR_IP>:3000/ in your browser.
- Clone the repository:
git clone https://github.com/pasamyagnesh/dorkcode.git - Navigate to the project directory:
cd dorkcode - Run the server:
node server.js
Happy Coding!