Skip to content

Instagram clone created using MongoDB, Express, React and Node.js πŸ“·

Notifications You must be signed in to change notification settings

FoxSaysDerp/odyssey-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

88 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Odyssey App πŸ“·

Odyssey is an Instagram clone which resolves around sharing images within community.

Nodejs Express React

πŸ’» Launching in local enviroment

πŸ›  Install

To install dependencies for both client and server:

npm run bootstrap:install

For separate instances:

npm run client:install
npm run server:install

πŸ”‘ Launch

Before launching, make sure to create .env files in both server and client directories using provided .env.template templates.

To launch both server and client parallely:

npm run bootstrap:start

For separate instances:

npm run client:start
npm run server:start

🌳 Project Structure

This repository is a monorepo - it contains both server and client source files.

πŸ‘” Client

client/
┣ public/
┣ src/
┃ ┣ common/
┃ ┃ ┣ components/ <- a shared components directory
┃ ┃ ┣ context/ <- directory for context API usages
┃ ┃ ┃ ┣ auth-context.js
┃ ┃ ┃ β”— theme-context.js
┃ ┃ β”— hooks/ <- custom hooks directory
┃ ┃   ┣ useAuth.js
┃ ┃   ┣ useForm.js
┃ ┃   β”— useHttpClient.js
┃ ┣ constant/
┃ ┣ styles/
┃ ┃ ┣ app.scss
┃ ┃ ┣ Main.js
┃ ┃ β”— theme.js
┃ ┣ util/
┃ ┃ β”— validators.js
┃ ┃ 
┃ ┃ // Main application functionalities with their respective pages and componenets are stored in separte directories.
┃ ┃ 
┃ ┣ memories/
┃ ┃ ┣ components/
┃ ┃ β”— pages/
┃ ┣ user/
┃ ┃ ┣ components/
┃ ┃ ┃ ┣ UserItem.js
┃ ┃ ┃ β”— UserList.js
┃ ┃ β”— pages/
┃ ┃   ┣ Auth.js
┃ ┃   ┣ Logout.js
┃ ┃   β”— Users.js
┃ ┣ App.js
┃ β”— index.js
┣ .env <- Enviromental variables file
┣ .eslintrc.json
β”— .nvmrc <- node version used to compile client

πŸ₯Ό Server

server/
┣ controllers/ <- HTTP request controllers
┃ ┣ memories.js
┃ β”— users.js
┣ middleware/
┃ ┣ check-auth.js
┃ β”— file-upload.js
┣ misc/
┃ β”— loading.js
┣ models/ <- MongoDB collection items' models
┃ ┣ http-error.js
┃ ┣ memory.js
┃ β”— user.js
┣ routes/ <- Express routes
┃ ┣ memories.js
┃ β”— users.js
┣ uploads/
┃ β”— images/ <- directory which contains uploaded images
┣ util/
┃ β”— path-to-unix.js
┣ .env <- Enviromental variables file
β”— app.js <- server launcher

πŸ“Œ TODO:

  • Better styling and RWD
  • Liking and commenting specific photo
  • Image fetching optimization

About

Instagram clone created using MongoDB, Express, React and Node.js πŸ“·

Topics

Resources

Stars

Watchers

Forks

Languages