Welcome to the Hacktoberfest 2023 - Dev Assignment repository! This project is part of the Hacktoberfest challenge, and it's focused on the development of a website that allows participants to register and view their details. This README provides an overview of the project and instructions on how to set it up.
The Hacktoberfest Participants Registration project, that replicates the design provided in Figma, is a web application that provides the following features:
- User registration: Participants can register by providing their information, including name, GitLab ID, Kaggle ID, bio, and birth date.
- Skills tracking: Participants can select their skills (FrontEnd, BackEnd, etc.) during registration.
- Participants list: The website displays a list of registered participants along with their details and skills.
The project utilizes the following technologies:
- Angular: The frontend of the application is built using the Angular framework.
- MySQL Docker Image: The MySQL database is containerized using a Docker image.
- Express Server: An Express.js server provides APIs to interact with the database.
The project directory is structured as follows:
hacktoberfest/
contains the Angular project.hacktoberfest/server.js
is the Express server.hacktoberfest/.env
files should be updated with the necessary database configuration.hacktoberfest_db.sql
is a database dump containing skill data.index.html
andstyle.css
replicate the Figma design for the desktop view.
Follow these steps to set up the project:
- Clone the repository to your local machine.
- Navigate to the
hacktoberfest/
directory and runnpm install
to install the Angular project dependencies. - Update the
.env
files with your database configuration. - Create and set up a MySQL database using the
hacktoberfest_db.sql
dump. - Run the Express server with
node server.js
.
The database structure is represented in the following ERD Diagram:
Ensure that you have MySQL Server installed and configured. You can use the provided database dump (hacktoberfest_db.sql
) to create the necessary tables.
mysql -u your_username -p your_database < hacktoberfest_db.sql