Skip to content

makovstanislav/codeinterns-capstone

Repository files navigation

Code Interns

Code Interns is a job board designed for connecting interns with potential employers. It allows for CRUD (CREATE, READ, UPDATE, DELETE) operations and serves as my capstone project.

Table of Contents

  1. Visuals
  2. Features
  3. Stack
  4. Usage
  5. License

Visuals

Candidates

Candidates feed desktop

Candidates mobile

Candidates feed mobile

Filters mobile

Candidates feed filters

Features Availability

Feature Status
Landing Page Available
Authorization In Progress
Sign Up - Via Google Planned
- Via LinkedIn Planned
- Via Email Planned
Sign In - Via Google Planned
- Via GitHub Planned
- Via LinkedIn Planned
HR Dashboard Browse Candidates Feed Available
Search by Keywords Available
Filter Candidates Available
Browse a Candidate Planned
Save a Candidate Planned
Publish a Job Planned
Inbox Later
Guides Later
Edit Profile Later
Candidate Dashboard Jobs Feed Later
Inbox Later
Salaries Later
Edit Profile Later
Upload CV Later

Stack

Front-end: React, Pure CSS (no Bootstrap or Tailwind), Next.js
Back-end: Node.js, Firebase
Deployment: Vercel

Usage

Pre-requisites

  • Node.js v20.9 or later
  • Next.js v14.0.3 or later

Build and Run Locally

  1. Clone the repository to your local machine.
  2. Navigate to the project directory.
  3. Install dependencies by running npm install.
  4. Start the development server by running npm run dev. You can also use yarn dev or pnpm dev.
  5. Open your browser and navigate to http://localhost:3000 to see the application in action.

Configure Authentication and Database

Google Cloud Setup

  1. Generate a Client ID and Client Secret.
  2. Add Authorized JavaScript origins:
    • http://localhost:3000
    • yourapp.vercel.app (if using Vercel)
  3. Add Authorized redirect URIs:
    • http://localhost:3000
    • http://localhost:3000/api/auth/callback/google
    • If using Vercel:
      • yourapp.vercel.app
      • yourapp.vercel.app/api/auth/callback/google

Configure Local Environment Variables

  1. Open .env.
  2. Set the following variables:
    • GOOGLE_ID
    • GOOGLE_CLIENT_SECRET
    • NEXTAUTH_URL to http://localhost:3000
    • NEXTAUTH_SECRET (Generate using openssl rand -base64 32)

Deployment

  • The easiest way to deploy this Next.js application is by using the Vercel Platform, created by the makers of Next.js
  • For detailed instructions, check out the Next.js deployment documentation
  • If using Vercel, change the NEXTAUTH_URL to yourapp.vercel.app in the "Environment Variables" tab in the project settings on the Vercel dashboard

License

This project is open source and available under the MIT License