Skip to content

Features

Prasad Honrao edited this page Oct 22, 2024 · 5 revisions

DevCamper is a full-stack bootcamp directory application with extensive features for both users and administrators. It provides a platform where users can search for coding bootcamps, read reviews, and leave their feedback. On the other hand, bootcamp administrators can manage bootcamp details, courses, and reviews.

User Features

  1. Browse Bootcamps:
    Users can browse through a list of available bootcamps. The listings display key information such as location, average cost, and ratings.

  2. Search Bootcamps by Location/Radius:
    Search functionality allows users to find bootcamps within a specified radius of a location using geolocation services (MapQuest API).

  3. Filter by Cost, Rating, and Duration:
    Users can filter bootcamps based on their average tuition cost, user ratings, and course duration.

  4. Write and View Reviews:
    Users can view bootcamp reviews and ratings submitted by other users. Additionally, authenticated users can leave their reviews and ratings for a bootcamp.


Bootcamp Features

  1. Bootcamp Listings:
    Each bootcamp profile includes detailed information, such as a description, location, career services, housing options, and average cost.

  2. Bootcamp Rating System:
    Users can leave reviews with star ratings, and the bootcamp's profile displays an average rating based on all reviews.

  3. Manage Bootcamp Ownership:
    Bootcamp owners can claim ownership of bootcamps. Once verified, they can manage the bootcamp details, courses, and reviews directly.

  4. Upload Photos:
    Bootcamp administrators can upload photos of their bootcamp to make their listings more appealing.


Course Features

  1. Course Management:
    Bootcamp administrators can create and manage detailed courses for each bootcamp, including information such as course duration, cost, skill level, and description.

  2. View Courses by Bootcamp:
    Users can view all the available courses for a bootcamp on its profile page, making it easy to compare bootcamp offerings.


Admin Features

  1. Admin Dashboard:
    Bootcamp administrators have access to a personalized dashboard where they can manage their bootcamp details, courses, and reviews.

  2. Approve or Deny Reviews:
    Admins can monitor and approve or deny reviews for their bootcamps to ensure quality and accuracy.

  3. User Management:
    Admins can manage the users associated with the platform, resetting passwords, updating roles, or managing user details.

  4. Bulk Data Seeding:
    Admins have the ability to seed data into the database, including bootcamps, courses, and users for testing or setup purposes.


Authentication and Security

  1. JWT Authentication:
    DevCamper uses JSON Web Tokens (JWT) for secure user authentication and authorization. JWT tokens are used to protect sensitive routes such as writing reviews or managing bootcamp data.

  2. Role-based Access Control:
    Different levels of access control are implemented. For example, users can write reviews, but only bootcamp owners or administrators can modify bootcamp and course data.

  3. Password Reset via Email:
    Users can request password resets via email. DevCamper sends password reset links to registered email addresses, secured by SMTP.


API Documentation

  1. Comprehensive REST API:
    DevCamper provides a RESTful API for interacting with bootcamp, course, and review data. The API supports CRUD operations and is protected by authentication and authorization.

  2. Public and Private API Endpoints:
    Public endpoints allow users to browse and view bootcamps and courses, while private endpoints are restricted to authenticated users or administrators.

  3. Rate Limiting & Security:
    The API enforces rate limiting to protect against abusive requests and includes security headers to enhance protection against common attacks like XSS and CSRF.


Other Features

  1. File Uploads:
    Bootcamp owners can upload images related to their bootcamps, including a logo or other visual assets.

  2. Pagination and Sorting:
    The bootcamp and course listings support pagination and sorting to improve user experience when navigating large datasets.