Skip to content

An online directory to maintain and update records of employees of an organization

Notifications You must be signed in to change notification settings

sangwan-smriti/dashboard-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Week 1: Requirement Analysis and Initial Planning

  • Key Actionables:
    1. Gather requirements from stakeholders (e.g., features, user roles like admin/nodal officer, scalability needs, etc.).
    2. Create a system architecture diagram to visualize relationships between components.
    3. Choose the tech stack and hosting environment.

Week 2: UI/UX Design

  • Key Actionables:
    1. Design wireframes for key pages (e.g., login, admin dashboard, nodal officer dashboard, employee table).
    2. Create high-fidelity mockups using tools like Figma or Adobe XD.
    3. Focus on responsive design for mobile and desktop users.

Week 3: Database Schema Design

  • Key Actionables:
    1. Define a database schema to manage labs, employees, and user roles.
      • Tables: Users, Labs, Employees, Activity Logs.
    2. Use MySQL or PostgreSQL for a relational database (scalable and supports relationships).
    3. Plan indexing for optimized query performance.

Week 4-5: Backend Development

  • Key Actionables:
    1. Set up a backend using Node.js with Express.js or NestJS for a robust API.
    2. Implement:
      • Authentication (JWT or OAuth).
      • Role-based access control (admin vs nodal officer).
      • CRUD operations for employees.
    3. Create RESTful APIs for frontend-backend communication.
    4. Test APIs using Postman or Swagger.

Week 6-7: Frontend Development

  • Key Actionables:
    1. Develop the frontend using React.js with TypeScript for type safety.
    2. Set up component-based architecture (e.g., Navbar, Dashboard, Employee Table).
    3. Integrate Material-UI or TailwindCSS for consistent design.
    4. Connect to the backend APIs.

Week 8-9: Integration

  • Key Actionables:
    1. Integrate the backend APIs with the frontend.
    2. Implement state management using Redux Toolkit or React Query.
    3. Build a notification system (e.g., for updates/deletes).

Week 10: Testing

  • Key Actionables:
    1. Perform unit testing using Jest (frontend and backend).
    2. Conduct integration testing and end-to-end testing with Cypress or Playwright.
    3. Resolve bugs and ensure that all features work as expected.

Week 11: Deployment

  • Key Actionables:
    1. Host the application backend on AWS EC2, Render, or Heroku.
    2. Deploy the frontend on Vercel or Netlify.
    3. Use Cloudflare for CDN and DDoS protection.
    4. Configure environment variables for secure API keys.

Week 12: Documentation

  • Key Actionables:
    1. Document the codebase, API endpoints, and deployment process.
    2. Write user manuals for admins and nodal officers.

Week 13: Final Testing and Handover

  • Key Actionables:
    1. Perform load testing to verify scalability for up to 10,000 records.
    2. Get stakeholder feedback and make last-minute refinements.
    3. Handover the project along with all documentation.

Technologies Used and Alternatives

1. Frontend:

  • Primary: React.js (component-based, fast, scalable).
  • Styling: Material-UI or TailwindCSS (responsive, modern design).
  • State Management: Redux Toolkit or React Query (for handling API state efficiently).

Alternatives:

  • Angular (for larger teams needing structured frameworks).
  • Vue.js (lightweight, beginner-friendly).

2. Backend:

  • Primary: Node.js with Express.js (lightweight, asynchronous, and popular).
  • Authentication: JWT (secure token-based authentication).
  • Role Management: Middleware for role-based access control.

Alternatives:

  • Django (Python, batteries included for rapid development).
  • Spring Boot (Java, suitable for enterprise-level apps).

3. Database:

  • Primary: MySQL or PostgreSQL (relational database, suited for structured employee data).
  • Optimization: Use indexing and sharding for scalability.

Alternatives:

  • MongoDB (NoSQL, if flexible schemas are required).
  • Amazon RDS (managed relational database for scalability).

4. Hosting:

  • Backend: AWS EC2, Render, or Heroku.
  • Frontend: Vercel or Netlify.
  • Database: AWS RDS or Azure SQL Database.

Alternatives:

  • Google Cloud Platform (reliable and scalable).
  • DigitalOcean (simpler for small-scale apps).

5. Version Control:

  • Primary: Git with GitHub or GitLab (for collaboration and versioning).

6. Testing:

  • Unit Testing: Jest (frontend and backend testing).
  • Integration Testing: Cypress or Playwright.
  • Load Testing: Apache JMeter or k6.

7. Scalability Considerations:

  • Use AWS Load Balancer for backend scalability.
  • Optimize API queries and limit data returned to avoid overloading.
  • Use Redis for caching frequent queries.

About

An online directory to maintain and update records of employees of an organization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published