{"id":22822601,"url":"https://github.com/manighazaee/firecode","last_synced_at":"2025-10-18T09:41:16.586Z","repository":{"id":190247119,"uuid":"677993959","full_name":"ManiGhazaee/FireCode","owner":"ManiGhazaee","description":" A Full-Stack LeetCode clone built with TypeScript React, Typescript, Express, Mongodb, Mongoose, and styled with Tailwind and CSS.","archived":false,"fork":false,"pushed_at":"2024-03-24T07:57:51.000Z","size":709,"stargazers_count":21,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-03-24T08:35:24.823Z","etag":null,"topics":["backend","clone","express","firecode","frontend","full-stack","leetcode","leetcode-clone","mongodb","mongoose","react","tailwindcss","typescript","typescript-react","vercel"],"latest_commit_sha":null,"homepage":"https://fire-code.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ManiGhazaee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-13T10:41:07.000Z","updated_at":"2024-03-22T18:45:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"4ed43792-583f-4278-a27a-72ee6b19885e","html_url":"https://github.com/ManiGhazaee/FireCode","commit_stats":null,"previous_names":["manighazaee/firecode"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManiGhazaee%2FFireCode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManiGhazaee%2FFireCode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManiGhazaee%2FFireCode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManiGhazaee%2FFireCode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ManiGhazaee","download_url":"https://codeload.github.com/ManiGhazaee/FireCode/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250366665,"owners_count":21418767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","clone","express","firecode","frontend","full-stack","leetcode","leetcode-clone","mongodb","mongoose","react","tailwindcss","typescript","typescript-react","vercel"],"created_at":"2024-12-12T16:12:30.080Z","updated_at":"2025-10-18T09:41:16.503Z","avatar_url":"https://github.com/ManiGhazaee.png","language":"TypeScript","readme":"![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)\r\n![TypeScript React](https://img.shields.io/badge/typescript%20react-%2320232a.svg?style=for-the-badge\u0026logo=react\u0026logoColor=%2361DAFB)\r\n![MongoDB](https://img.shields.io/badge/mongodb-%234ea94b.svg?style=for-the-badge\u0026logo=mongodb\u0026logoColor=white)\r\n![Mongoose](https://img.shields.io/badge/mongoose-%234ea94b.svg?style=for-the-badge\u0026logo=mongoose\u0026logoColor=white)\r\n![Node.js](https://img.shields.io/badge/node.js-%23339933.svg?style=for-the-badge\u0026logo=node.js\u0026logoColor=white)\r\n![Express.js](https://img.shields.io/badge/express.js-%23404d59.svg?style=for-the-badge)\r\n![CSS3](https://img.shields.io/badge/css3-%231572B6.svg?style=for-the-badge\u0026logo=css3\u0026logoColor=white)\r\n![Tailwind CSS](https://img.shields.io/badge/tailwind%20css-%2338B2AC.svg?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white)\r\n\r\n# FireCode\r\n\r\nFireCode is a clone of LeetCode, a platform for developers to practice coding problems and improve their skills. This project was created as a full-stack project _(my first full-stack project)_ using Express, MongoDB, Mongoose, TypeScript,TypeScript React (TSX), CSS3, and Tailwind CSS.\r\n\r\n# Demo\r\n\r\nYou can see the live demo of website at https://fire-code.vercel.app.\r\n\r\n# Installation\r\n\r\n### Clone the repository and install server and client dependencies:\r\n\r\n```bash\r\ngit clone https://github.com/ManiGhazaee/FireCode.git\r\ncd FireCode/server\r\nnpm install\r\ncd ../client\r\nnpm install\r\n```\r\n\r\n### Start the client in the `client` directory:\r\n\r\n```bash\r\nnpm start\r\n```\r\n\r\n### Configure the MongoDB Database and JWT Secret:\r\n\r\nBefore starting the server, make sure to configure the following environment variables in the `server/.env` file:\r\n\r\n-   `MONGODB_URI`: Set this variable to your MongoDB connection string.\r\n-   `ACCESS_TOKEN_SECRET`: Set this variable to a secret key for JWT access tokens.\r\n\r\n### Configure the API URL:\r\n\r\nTo use your own API, open the `client/src/App.tsx` file and find the `API_URL` constant. Update its value to match the URL of your deployed server (`http://localhost:80`).\r\n\r\n### Start the server in the `server` directory:\r\n\r\n```bash\r\nnpm start\r\n```\r\n\r\n# Features\r\n\r\n-   User authentication: Users can create an account, log in, and log out, delete account.\r\n-   Coding problems: Users can browse coding problems, submit solutions.\r\n-   User profile: Users can view their profile, including their solved problems and submissions.\r\n\r\n# Technologies Used\r\n\r\n-   Express: A web framework for Node.js\r\n-   MongoDB: A NoSQL database\r\n-   Mongoose: A MongoDB object modeling tool\r\n-   TypeScript: A typed superset of JavaScript\r\n-   TypeScript React: A JavaScript library for building user interfaces with TypeScript\r\n-   Tailwind CSS: A utility-first CSS framework\r\n-   CSS: A stylesheet language used to describe the presentation of a document written in HTML or XML\r\n\r\n# Server Dependencies\r\n\r\n-   acorn\r\n-   bad-words\r\n-   bcrypt\r\n-   cors\r\n-   dotenv\r\n-   express\r\n-   jsonwebtoken\r\n-   mongodb\r\n-   mongoose\r\n-   typescript\r\n\r\n# Client Dependencies\r\n\r\n-   @uiw/codemirror-extensions-langs\r\n-   @uiw/codemirror-theme-tokyo-night\r\n-   @uiw/react-codemirror\r\n-   axios\r\n-   markdown-it\r\n-   react\r\n-   react-dom\r\n-   react-router-dom\r\n-   react-scripts\r\n-   react-type-animation\r\n-   typescript\r\n-   web-vitals\r\n\r\n# Contributing\r\n\r\nContributions are welcome! If you find a bug or have a feature request, please create an issue on GitHub. If you would like to contribute code, please fork the repository and create a pull request.\r\n\r\n# License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](./LICENSE.md) file for details.\r\n\r\n# Acknowledgments\r\n\r\nThis project was inspired by LeetCode.\r\nThanks to the creators of Express, MongoDB, Mongoose, TypeScript, and React.\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanighazaee%2Ffirecode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanighazaee%2Ffirecode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanighazaee%2Ffirecode/lists"}