Skip to content

asku1990/resume_server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

116 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

resume_server

resume_server acts as the robust backend infrastructure for resume_web, a dynamic web-based resume platform. This server is engineered to manage and securely serve the personal and professional data required by the resume_web frontend, offering a seamless user experience. Utilizing Node.js and Express, resume_server efficiently handles API requests, interfaces with a MySQL database for data persistence, and employs JWT for secure user authentication. This component is essential for individuals aiming to showcase their software development skills, whether for attracting potential employers or securing internships in the IT sector.

Features

  • Secure Data Management: Manages the storage, retrieval, and updating of user information securely.
  • API Endpoints: Provides RESTful API endpoints for accessing personal, educational, and professional data.
  • User Authentication: Leverages JWT for secure authentication and session management, ensuring data protection.
  • Dynamic Content Delivery: Serves dynamic content updates to the resume_web frontend, facilitating real-time display of user data.
  • Database Integration: Utilizes MySQL for robust data storage and retrieval, ensuring data integrity and reliability.

Technology Stack

  • Node.js: Serves as the server-side runtime environment, enabling JavaScript execution for backend processes.
  • Express: Offers a powerful and flexible framework for creating web applications and RESTful APIs, simplifying server-side logic.
  • MySQL: Provides a reliable and scalable database solution for storing user data and application state.
  • JWT (JSON Web Tokens): Ensures secure communication between client and server, safeguarding user sessions and personal information.

Installation

To deploy and run resume_server locally, follow these steps:

  1. Repository Cloning: Clone the resume_server repository to your local machine using the following command:

    git clone https://github.com/Resume-and-CV/resume_server.git
    cd resume_server
    
  2. Dependencies Installation: Install the necessary dependencies by running:

    npm install
    
  3. Environment Configuration: Configure your .env file with necessary environment variables, including database connection details and authentication secrets.

    DB_HOST=This is the hostname of your database server. DB_USER=This specifies the username for your database login. DB_PASSWORD=This is the password for your database user. DB_DATABASE=This indicates the name of the database you want to use. PORT=3001 This determines the port number on which your server will listen for incoming connections. The default is set to 3001,

    JWT_SECRET=This is your chooshing secret key.

  4. Server Startup: Launch the server by executing:

    node app.js
    

    Upon successful launch, the server will be accessible at http://localhost:3000 or another port as configured.

Lessons Learned

The journey of developing resume_server has been a profound learning experience, deepening my expertise in areas such as:

  • Backend Architecture: Designing and implementing a scalable server architecture capable of handling numerous requests while maintaining high performance.
  • Security Practices: Employing JWT and other security measures to protect user data and ensure secure API communication.
  • Database Management: Effectively utilizing MySQL to store, update, and retrieve data, along with understanding the importance of database design in web applications.
  • API Development: Crafting well-structured RESTful APIs that enable flexible, secure, and efficient data exchange between the server and client-side applications.

Future Enhancements

Looking ahead, resume_server is poised for several enhancements aimed at enriching the platform's functionality and user experience. These include:

  • Improved Security Measures: Implementing advanced security protocols and encryption techniques to further safeguard user data.
  • API Expansion: Extending the API to support additional features and integrations, enhancing the resume_web platform's capabilities.
  • Performance Optimization: Continual refinement of server performance, ensuring faster response times and efficient data processing.

About

Original backend for my personal portfolio, currently not in use.

Resources

Stars

Watchers

Forks

Contributors