Skip to content

k61b/okul

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Okul - School Listing Project

Okul is a web application that allows users to create an account, receive email confirmations, list schools, and add them to their favorites. The backend of the application is built using Golang and Fiber for the server, and it uses Postgres as the database. The frontend is developed with React.

Table of Contents

Getting Started

Prerequisites

Before you start, make sure you have the following installed on your system:

Installation

  1. Clone the repository:
git clone https://github.com/k61b/okul.git
cd okul
  1. Create a config.dev.yml configuration file in the config directory like config.prod.yml

  2. Install dependencies:

# Backend (Golang/Fiber)
go mod tidy

# Frontend (React)
cd frontend
npm install

Configuration

The project uses a YAML configuration file (config.dev.yml) for environment-specific settings. Make sure to provide appropriate values for the keys in this file, especially the database connection details, JWT secret, and email credentials.

Usage

Starting the Server

  1. Start the Postgres database.

  2. Migrate the database schema:

# Manually run the migration file
  1. Start the Golang server:
make run

Running the Frontend

In a separate terminal window:

cd client
npm run dev

The frontend will be accessible at http://localhost:3000.

Features

  • User authentication with email confirmation.
  • Listing schools with details.
  • Adding schools to favorites.
  • Responsive design for both desktop and mobile.

Contributing

Contributions are welcome! Feel free to open an issue or create a pull request.

License

MIT