https://github.com/darkcrimson26/mini-build-project
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.1%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: DarkCrimson26
- Language: JavaScript
- Default Branch: main
- Size: 15.3 MB
Statistics
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Task Manager Pro
A full-stack task management application with user authentication, advanced filtering, and real-time updates.
Features
- User Authentication Secure JWT-based registration and login
- Task Management Create, read, update, and delete tasks
- Advanced Filtering Filter tasks by status, priority, and due date
- Search Functionality Search tasks by title or description
- Pagination Efficiently load and browse large task lists
- Modern UI Responsive design with light and dark themes
- Authorization Users can only access and manage their own tasks
- Dashboard Visual overview of task statistics and progress
Tech Stack
- Backend: Node.js, Express.js, MongoDB, Mongoose
- Frontend: HTML5, CSS3, Vanilla JavaScript
- Authentication: JWT (JSON Web Tokens)
- Database: MongoDB with Mongoose ODM
- Security: bcryptjs for password hashing
- Testing: Jest, Supertest, Cypress
Quick Start
Prerequisites
- Node.js (v16 or higher)
- MongoDB (local or Atlas)
Installation
```bash
Clone the repository
git clone
Install dependencies
npm install
Create a config.env file (see below)
cp config.env.example config.env
Start the server
npm start ```
Environment Variables
Create a config.env file in the root directory:
env
PORT=3000
NODE_ENV=development
DB_URI=mongodb://localhost:27017/tasksDB
JWT_SECRET=your-super-secret-jwt-key
CORS_ORIGIN=http://localhost:3000
LOG_LEVEL=info
For production (e.g., Render), use your MongoDB Atlas URI and set NODE_ENV=production.
API Documentation
See API_DOCUMENTATION.md for full details.
Authentication Endpoints
POST /api/auth/registerRegister new userPOST /api/auth/loginUser loginGET /api/auth/profileGet user profile
Task Endpoints
GET /api/tasksGet all tasks (with filtering/pagination)POST /api/tasksCreate new taskGET /api/tasks/:idGet specific taskPUT /api/tasks/:idUpdate taskDELETE /api/tasks/:idDelete task
Health Check
GET /api/healthApplication health status
Testing
Run All Tests
bash
npm test
Run Cypress E2E Tests
```bash npx cypress run
or for interactive mode
npx cypress open ```
Test files are in the tests/ and cypress/e2e/ directories.
Docker Setup
You can run the app and MongoDB together using Docker Compose:
bash
docker-compose up --build
- The app will be available at http://localhost:3000
- MongoDB will be available at
mongodb://localhost:27017
To stop and remove containers, networks, and volumes:
bash
docker-compose down
Deployment
Deploy to Render
- Set up MongoDB Atlas Create a free cluster
- Push to GitHub Upload your code
- Deploy on Render Connect repository and deploy
- Set Environment Variables Configure production settings
See DEPLOYMENT.md and DEPLOYMENT_CHECKLIST.md for step-by-step instructions.
Security Features
- Password hashing (bcryptjs)
- JWT authentication
- CORS protection
- Input validation (express-validator)
- Security headers
- Environment variable configuration
Performance Features
- Database indexing
- Pagination
- Connection pooling
- Static file serving
- Error handling
- Caching middleware
Project Structure
app.js # Main server file
middleware/
auth.js # Authentication middleware
cache.js # Caching middleware
models/
task.js # Task model
user.js # User model
routes/
auth.js # Authentication routes
tasks.js # Task routes
public/
index.html # Frontend application
script.js # Frontend JavaScript
style.css # Frontend styles
tests/ # Jest/Supertest tests
cypress/ # Cypress E2E tests
Dockerfile
docker-compose.yml
config.env
README.md
API_DOCUMENTATION.md
DEPLOYMENT.md
DEPLOYMENT_CHECKLIST.md
PROJECT_SUMMARY.md
Usage
- Register/Login: Create an account or sign in
- Create Tasks: Add new tasks with title, description, priority, and due date
- Manage Tasks: Edit, delete, or mark tasks as complete
- Filter & Search: Use advanced filtering options to find specific tasks
- Dashboard: View your task statistics and progress
Post-Deployment Verification
- Visit your deployed URL (e.g.,
https://your-app.onrender.com) - Test all endpoints and UI features
- Check
/api/healthfor status - Register/login, create/manage tasks, and verify everything works
- All documentation is up to date
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
License
This project is licensed under the ISC License.
Final Checklist
- [x] All features implemented and tested
- [x] All tests passing (unit, integration, E2E)
- [x] Production deployment complete
- [x] Documentation up to date
- [x] Post-deployment verification done
Built with by [KinuuHiru] using Node.js, Express, and MongoDB
Owner
- Name: Benxykino
- Login: DarkCrimson26
- Kind: user
- Website: https://mini-build-project.onrender.com/
- Repositories: 1
- Profile: https://github.com/DarkCrimson26
Software Developer
GitHub Events
Total
Last Year
Dependencies
- 138 dependencies
- nodemon ^3.0.0 development
- bcryptjs ^2.4.3
- cors ^2.8.5
- express ^4.18.2
- express-validator ^7.0.1
- jsonwebtoken ^9.0.2
- mongoose ^8.16.0