This project consist of creating a facebook like web application by using any of existing js framework for the frontend and golang for the backend. To know more about this project, please visit this link
-
Followers
Users have the ability to follow each others.
-
Profile
Each user has a profile presenting some information about him/her.
-
Posts
Users have the ability to post their best moments with their friends.
-
Groups
Users can create or join groups, enabling them to be part of a community that shares their interests.
-
Notification
Users will be notified on every event that concern him/her.
-
Chats
Users can exchange messages with each others
-
Nuxtjs
Nuxt is a free and open source JavaScript library based on Vue.js, Nitro, and Vite. Wikipedia
-
Tailwind
Tailwind CSS is an open source CSS framework. The main feature of this library is that, unlike other CSS frameworks like Bootstrap, it does not provide a series of predefined classes for elements such as buttons or tables. Wikipedia
-
Golang
Go is a statically typed, compiled high-level programming language designed at Google. Wikipedia
-
SQlite
SQLite is a database engine written in the C programming language. Wikipedia
Open a terminal, go to the root directory of the project and run make install. This will install all the dependencies.
- Frontend
To start the frontend you can follow one of the following steps:
-
go to the frontend directory
cd frontendand run this command:npm run dev -
from the root of the project run this command:
make start-frontend
- Backend
To start the backend server you can follow one of the following steps:
-
go to the backend directory
cd backendand run this command:go run . -
from the root of the project run this command:
make start-backend
You can also run make start to start both, the backend server and frontend server.
- Database Run this command to create a new migration logic:
migrate create -seq -ext=.sql -dir=./pkg/db/migrations/sqlite <table_name>
-seq: to use number for ordering
-ext=<file>: specify the migration file extension where <file> is the migration file.
-dir=<directory>: directory to the migrations directory