{"id":29104518,"url":"https://github.com/ummamali/acadexbck","last_synced_at":"2026-04-10T23:44:05.250Z","repository":{"id":289687231,"uuid":"972085139","full_name":"Ummamali/acadexbck","owner":"Ummamali","description":"Acadex offers a simple yet effective backend solution for managing student records. Built with Express.js and Node.js, it provides a fully functional RESTful API capable of handling all CRUD operations. The use of flat file JSON storage makes it lightweight and easy to deploy without external databases. It's Ideal for small-scale applications.","archived":false,"fork":false,"pushed_at":"2025-05-06T16:16:53.000Z","size":689,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-06T16:57:04.732Z","etag":null,"topics":["crud","expressjs","flatfiledb","nodejs","restapi","yup"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ummamali.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-04-24T14:08:53.000Z","updated_at":"2025-05-06T16:16:56.000Z","dependencies_parsed_at":"2025-04-24T15:25:48.153Z","dependency_job_id":"59006229-2d69-4b15-9f5e-b41e54abc94b","html_url":"https://github.com/Ummamali/acadexbck","commit_stats":null,"previous_names":["ummamali/acadexbck"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ummamali/acadexbck","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ummamali%2Facadexbck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ummamali%2Facadexbck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ummamali%2Facadexbck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ummamali%2Facadexbck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ummamali","download_url":"https://codeload.github.com/Ummamali/acadexbck/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ummamali%2Facadexbck/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262514200,"owners_count":23322697,"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":["crud","expressjs","flatfiledb","nodejs","restapi","yup"],"created_at":"2025-06-29T00:05:38.098Z","updated_at":"2026-04-10T23:44:00.222Z","avatar_url":"https://github.com/Ummamali.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Acadex Backend 📦\n\nThe Acadex backend is a lightweight RESTful API developed using **Express.js** on **Node.js**, designed to handle CRUD operations for student records. It serves as the core engine of the Acadex application, enabling smooth and responsive interactions with the frontend. Instead of relying on a traditional database, it utilizes a simple **flat file JSON storage**, making it easy to set up, understand, and extend. This approach is especially suitable for educational projects, small-scale tools, or rapid prototyping. With clearly defined endpoints and modular structure, the backend ensures clean code and a minimal footprint for easy maintenance and learning.\n\nAcadex Frontend has been developed in React 19. Click [Acadex](https://github.com/ummamali/acadex) to visit frontend repository.\n\n## Features\n\n**Create**  \nSupports POST requests to add new student records efficiently.\n\n**Read**  \nAllows retrieval of all student records or a specific student by ID using GET requests.\n\n**Update**  \nEnables modification of existing student information through PUT or PATCH requests.\n\n**Delete**  \nHandles removal of student records using standard DELETE operations.\n\n**Flat File Storage**  \nUses a lightweight JSON-based storage system, eliminating the need for a traditional database.\n\n**RESTful API Design**  \nFollows REST principles for clear, consistent, and maintainable endpoint structures.\n\n**Lightweight and Educational**  \nDesigned to be minimal and easy to understand, making it ideal for small projects, demos, or full-stack learning.\n\n## Technologies Used\n\n**Node.js**  \nJavaScript runtime environment used to build the backend server.\n\n**Express.js**  \nMinimal and flexible Node.js framework for building RESTful APIs.\n\n**Yup**  \nJavaScript schema builder for validating and parsing request data.\n\n**Git**  \nVersion control system used for tracking changes and collaboration.\n\n**Nodemon**  \nDevelopment utility that automatically restarts the server on file changes.\n\n**CORS**  \nMiddleware to enable Cross-Origin Resource Sharing between frontend and backend.\n\n**Body-Parser**  \nMiddleware to parse incoming request bodies in a middleware before your handlers.\n\n**ESLint \u0026 Prettier**  \nTools for code linting and formatting to ensure clean and consistent code style.\n\n**Flat File (JSON) Storage**  \nSimple, no-database solution for storing and retrieving student records.\n\n## Installation\n\nFollow the steps below to set up the Acadex backend on your local machine:\n\n1. **Clone the Repository**\n   \n   ```bash\n   git clone https://github.com/ummamali/acadexbck.git\n   cd acadexbck\n   ```\n   \n2. **Install Dependencied**\n\n   ```bash\n   npm install\n   ```\n   \n3. **Run Development Server**\n   \n    ```bash\n    npm run dev\n    ```\n\n### Testing\n\nAcadex uses **Jest** and **Supertest** to test its API routes, ensuring that all endpoints function as expected. The test suite covers core CRUD operations, validating both success scenarios and edge cases. This helps maintain code reliability and catch issues early during development. Tests are organized for clarity and ease of extension as the application grows. Running tests is straightforward and requires no additional setup beyond installing dependencies.\n\n```bash\nnpm run test\n```\n\n## Licensing\n\nThis project is licensed under the **MIT License**. See the [LICENSE](https://opensource.org/license/MIT) file for more information.\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fummamali%2Facadexbck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fummamali%2Facadexbck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fummamali%2Facadexbck/lists"}