UJokes Website
ujokes.pp.ua
A website with jokes.
It has features like user authentication, liking or disliking, dark and light themes, sharing jokes, and a history of read jokes.
This project was built using these technologies.
- React.js
- FastAPI
- Google OAuth
- MUI5
- CSS3
- WebStorm
📖 Multi-Page Layout
🎨 Styled with MaterialUI with easy-to-customize colors
📱 Fully Responsive
Clone down this repository.
You will need node.js
, python
and git
installed globally on your machine.
Navigate to the frontend directory: cd joke-site-frontend
-
Set up the necessary configuration by creating a
.env
file and defining the required variables. -
Example
.env
file:REACT_APP_GOOGLE_CLIENT_ID=google OAuth client id REACT_APP_API_BASE_URL=API url
-
Install dependencies:
npm install
-
Start backend:
python(or python3) main.py
Navigate to the backend directory: cd joke-site-backend
-
Set up the necessary configuration by creating a
.env
file and defining the required variables. -
Example
.env
file:DATABASE_URL=database connect url JWT_SECRET=jwt secret GOOGLE_CLIENT_ID=google OAuth client id GOOGLE_CLIENT_SECRET=google OAuth client secret ORIGINS=origins for CORS
-
Install dependencies:
pip install -r requirements.txt
-
Start frontend:
npm start - for development npm run build npm install serve -g servw -s build - for production
You can start production server using: docker compose up -d
This project uses GitHub Actions to automate the build and deployment of the Docker image. The workflow builds the Docker image and pushes it to GitHub Container Registry.
Give a ⭐ if you like this website!