Coder Social home page Coder Social logo

yassine20011 / cv Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 2.11 MB

Minimalist CV that is easy to set up and use, even for non-developers.

Home Page: https://cvhub.live

License: MIT License

JavaScript 1.90% TypeScript 96.90% CSS 1.20%
nextjs react tailwindcss next-auth prisma

cv's Introduction

Minimalist CV with a User-Friendly Layout

This project is a fork of cv, originally licensed under the MIT License by @BartoszJarocki. See the ORIGINAL_LICENSE.txt for details.

I have converted the project to be more user-friendly and added several features. This project aims to provide a minimalist CV that is easy to set up and use, even for non-developers.

Table of Contents

Features

  • Authenticated users using OAuth (Google and GitHub)
  • Fully responsive design
  • Three pages: Personal Details, Manage Content, and Preview
    • Personal Details: Users can add their personal details, experience, education, and projects.
    • Manage Content: Users can add or remove experience, education, and projects.
    • Preview: Users can preview their CV.
    • preview can be accessed via a wildcard subdomain (e.g., yourname.cvhub.live)
  • Wildcard subdomain for each user
  • Users can download their CV as a PDF

Tech Stack

  • Next.js
  • TypeScript
  • Tailwind CSS
  • next-auth
  • Prisma with PostgreSQL
  • Vercel (for deployment)
  • Cloudinary (for image upload)
  • Aiven (for PostgreSQL database)
  • Cloudflare (for DNS, SSL, and wildcard subdomain)
  • GitHub Actions (for CI/CD)

Installation

To install the project, follow these steps:

  1. Clone the project:

    git clone <project-url>
  2. Install the dependencies:

    npm install
  3. Create a .env.local file in the root directory and add the following environment variables:

    DATABASE_URL=postgres://username:password@host:port/dbname
    
    # Cloudinary credentials
    CLOUDINARY_CLOUD_NAME=<cloudinary_cloud_name>
    CLOUDINARY_API_KEY=<cloudinary_api_key>
    CLOUDINARY_API_SECRET=<cloudinary_api_secret>
    
    # Auth credentials
    NEXTAUTH_SECRET=<nextauth_secret>
    GOOGLE_CLIENT_ID=<google_client_id>
    GOOGLE_CLIENT_SECRET=<google_client_secret>
    GITHUB_CLIENT_ID=<github_client_id>
    GITHUB_CLIENT_SECRET=<github_client_secret>
    NEXTAUTH_URL=http://localhost:3000
    NODE_ENV=development
  4. Run the migrations:

    npx prisma migrate dev
  5. Run the project:

    npm run dev

If you have Docker installed, you can use the docker-compose.yaml to create a PostgreSQL database:

```bash
docker-compose start
```

TODO

  • Setup next-auth
  • Setup Prisma with PostgreSQL
  • Setup Cloudinary
  • Setup Aiven
  • Setup Cloudflare
  • Setup GitHub Actions
  • Add wildcard subdomain
  • Add personal details page
  • Add buttons to add Experience, Education, and Projects on personal details page
  • Add manage content page
  • Add/remove buttons Experience, Education, and Projects on manage content page
  • Add edit buttons Experience, Education, and Projects on manage content page
  • Add preview page
  • Add download as PDF button (already exists)
  • Add more themes
  • Add unit tests

Contributing

If you want to contribute to this project, you can fork the project and create a pull request. I will review the pull request and merge it if it is good.

Credits

License

This project is licensed under the MIT License. See the LICENSE file for details.

cv's People

Contributors

yassine20011 avatar

Stargazers

Bruno Gomes avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.