Skip to content
Snippets Groups Projects
Commit 8d23db7e authored by minyeongkim's avatar minyeongkim
Browse files

final commit

parents
Branches master
No related tags found
No related merge requests found
Pipeline #4398 failed
Showing
with 918 additions and 0 deletions
node_modules
public
\ No newline at end of file
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var session = require('express-session');
var database = require("./lib/database");
var MongoStore =require("connect-mongo")(session);
var app = express();
app.use(session({
secret: 'asadlfkj!@#!@#dfgasdg',
resave: false,
saveUninitialized: true,
store: new MongoStore({
url:database.uri
})
}));
var passport = require('./lib/passport')(app);
var boardRouter = require("./routes/board");
var authRouter = require("./routes/auth")(passport);
var myPetRouter = require("./routes/myPet");
var calenarRouter = require("./routes/calendar");
var mapRouter=require("./routes/map");
var mypageRouter=require("./routes/mypage");
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', authRouter);
app.use('/board', boardRouter);
app.use('/mypet', myPetRouter);
app.use("/calendar",calenarRouter);
app.use("/map",mapRouter);
app.use("/mypage",mypageRouter);
module.exports = app;
#!/usr/bin/env node
/**
* Module dependencies.
*/
var app = require('../app');
var debug = require('debug')('app:server');
var http = require('http');
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
/**
* Create HTTP server.
*/
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
/**
* Normalize a port into a number, string, or false.
*/
function normalizePort(val) {
var port = parseInt(val, 10);
if (isNaN(port)) {
// named pipe
return val;
}
if (port >= 0) {
// port number
return port;
}
return false;
}
/**
* Event listener for HTTP server "error" event.
*/
function onError(error) {
if (error.syscall !== 'listen') {
throw error;
}
var bind = typeof port === 'string'
? 'Pipe ' + port
: 'Port ' + port;
// handle specific listen errors with friendly messages
switch (error.code) {
case 'EACCES':
console.error(bind + ' requires elevated privileges');
process.exit(1);
break;
case 'EADDRINUSE':
console.error(bind + ' is already in use');
process.exit(1);
break;
default:
throw error;
}
}
/**
* Event listener for HTTP server "listening" event.
*/
function onListening() {
var addr = server.address();
var bind = typeof addr === 'string'
? 'pipe ' + addr
: 'port ' + addr.port;
debug('Listening on ' + bind);
}
const { MongoClient } = require("mongodb");
//const uri = "mongodb+srv://dbUser:Woo23IViADUOCm4J@cluster0-ekpvf.mongodb.net/apuz?retryWrites=true&w=majority";
//const uri = "mongodb://localhost:27017/apuz";
const uri="mongodb://apuzi:Efr8XD1mrojdlaMUKIFPbUZkoyPQteN157DwV9u0VUcLbMqH4W2DlXrIzpI24jfSdRrbEd6j18oV3oRLN1RELw%3D%3D@apuzi.documents.azure.com:10255/apuz?ssl=true";
const dbName = "apuz";
async function listCollections(){
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
const collections=await client.db(dbName).listCollections(undefined,{nameOnly:true}).toArray();
return collections;
} catch (e) {
console.error(e);
} finally {
await client.close();
}
}
async function listDatabases() {
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
databasesList = await client.db().admin().listDatabases();
} catch (e) {
console.error(e);
} finally {
await client.close();
}
};
async function createListing(collectionName, newListing) {
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
var result = await client.db(dbName).collection(collectionName).insertOne(newListing);
} catch (e) {
console.error(e);
} finally {
await client.close();
return result.insertedId;
}
}
async function createMultipleListings(collectionName, newListings) {
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
const result = await client.db(dbName).collection(collectionName).insertMany(newListings);
} catch (e) {
console.error(e);
} finally {
await client.close();
}
}
async function findOneListing(collectionName, format) {
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
result = await client.db(dbName).collection(collectionName).findOne(format);
if (result) {
return result;
} else {
console.log(`No listings found`);
}
} catch (e) {
console.error(e);
} finally {
await client.close();
}
}
async function findMultipleListings(collectionName, format) {
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
result = await client.db(dbName).collection(collectionName).find(format).toArray();
if (result.length !== 0) {
return result;
} else {
console.log(`No listings found`);
return [];
}
} catch (e) {
console.error(e);
} finally {
await client.close();
}
}
async function updateListing(collectionName, format, updatedListing) {
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
result = await client.db(dbName).collection(collectionName)
.updateOne(format, { $set: updatedListing });
} catch (e) {
console.error(e);
} finally {
await client.close();
}
}
async function upsertListing(collectionName, format, updatedListing) {
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
result = await client.db(dbName).collection(collectionName)
.updateOne(format,
{ $set: updatedListing },
{ upsert: true });
if (result.upsertedCount > 0) {
console.log(`One document was inserted with the id ${result.upsertedId._id}`);
} else {
console.log(`${result.modifiedCount} document(s) was/were updated.`);
}
} catch (e) {
console.error(e);
} finally {
await client.close();
}
}
async function pushElementInListing(collectionName, format, element) {
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
result = await client.db(dbName).collection(collectionName)
.updateOne(format,
{ $push: element },
{ upsert: true });
} catch (e) {
console.error(e);
} finally {
await client.close();
}
}
async function pullElementInListing(collectionName, format, element) {
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
result = await client.db(dbName).collection(collectionName)
.updateOne(format,
{ $pull: element });
} catch (e) {
console.error(e);
} finally {
await client.close();
}
}
async function deleteListing(collectionName, format) {
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
result = await client.db(dbName).collection(collectionName).deleteOne(format);
} catch (e) {
console.error(e);
} finally {
await client.close();
}
}
module.exports = {
uri,
dbName,
listDatabases,
createListing,
createMultipleListings,
findOneListing,
updateListing,
upsertListing,
deleteListing,
pushElementInListing,
pullElementInListing,
findMultipleListings,
listCollections
}
module.exports = function (app) {
var database = require("./database");
async function findUser(id, pw) {
let data;
let user = await database.findOneListing("users", {
id: id,
pw: pw
});
if (user) {
data={
id:user.id,
user_name:user.user_name,
nickname:user.nickname
}
} else {
user = await database.findOneListing("doctors", {
id: id,
pw: pw
});
if(user){
data={
id:user.id,
doctor_name:user.doctor_name
}
}
}
return data;
}
var passport = require('passport'),
LocalStrategy = require('passport-local').Strategy;
app.use(passport.initialize());
app.use(passport.session());
passport.serializeUser(function (user, done) {
console.log("serializeUser");
done(null, user);
});
passport.deserializeUser(function (id, done) {
console.log("deserializeUser");
done(null, id);
});
passport.use(new LocalStrategy({
usernameField: 'id',
passwordField: 'pw',
session: true,
},
async function (id, pw, done) {
const user = await findUser(id, pw);
if (user) {
return done(null, user);
} else {
return done(null, false);
}
}
));
return passport;
}
\ No newline at end of file
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ]
2 info using npm@3.5.2
3 info using node@v8.10.0
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle app@0.0.0~prestart: app@0.0.0
6 silly lifecycle app@0.0.0~prestart: no script for prestart, continuing
7 info lifecycle app@0.0.0~start: app@0.0.0
8 verbose lifecycle app@0.0.0~start: unsafe-perm in lifecycle true
9 verbose lifecycle app@0.0.0~start: PATH: /usr/share/npm/bin/node-gyp-bin:/home/wonjong/바탕화면/webProject/backend/node_modules/.bin:/home/wonjong/bin:/home/wonjong/.local/bin:/home/wonjong/bin:/home/wonjong/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
10 verbose lifecycle app@0.0.0~start: CWD: /home/wonjong/바탕화면/webProject/backend
11 silly lifecycle app@0.0.0~start: Args: [ '-c', 'node ./bin/www' ]
12 silly lifecycle app@0.0.0~start: Returned: code: 1 signal: null
13 info lifecycle app@0.0.0~start: Failed to exec start script
14 verbose stack Error: app@0.0.0 start: `node ./bin/www`
14 verbose stack Exit status 1
14 verbose stack at EventEmitter.<anonymous> (/usr/share/npm/lib/utils/lifecycle.js:232:16)
14 verbose stack at emitTwo (events.js:126:13)
14 verbose stack at EventEmitter.emit (events.js:214:7)
14 verbose stack at ChildProcess.<anonymous> (/usr/share/npm/lib/utils/spawn.js:24:14)
14 verbose stack at emitTwo (events.js:126:13)
14 verbose stack at ChildProcess.emit (events.js:214:7)
14 verbose stack at maybeClose (internal/child_process.js:925:16)
14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
15 verbose pkgid app@0.0.0
16 verbose cwd /home/wonjong/바탕화면/webProject/backend
17 error Linux 4.15.0-72-generic
18 error argv "/usr/bin/node" "/usr/bin/npm" "start"
19 error node v8.10.0
20 error npm v3.5.2
21 error code ELIFECYCLE
22 error app@0.0.0 start: `node ./bin/www`
22 error Exit status 1
23 error Failed at the app@0.0.0 start script 'node ./bin/www'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the app package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error node ./bin/www
23 error You can get information on how to open an issue for this project with:
23 error npm bugs app
23 error Or if that isn't available, you can get their info via:
23 error npm owner ls app
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]
{
"name": "app",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"connect-history-api-fallback": "^1.6.0",
"connect-mongo": "^3.2.0",
"cookie-parser": "~1.4.4",
"debug": "~2.6.9",
"express": "~4.16.1",
"express-session": "^1.17.0",
"moment": "^2.24.0",
"moment-timezone": "^0.5.27",
"mongodb": "^3.3.4",
"morgan": "~1.9.1",
"passport": "^0.4.0",
"passport-local": "^1.0.0"
}
}
var express = require('express');
var router = express.Router();
var database = require("../lib/database");
var path=require('path');
module.exports = function (passport) {
router.post('/sign_up_user', async function (req, res) {
let user=req.body;
user.status="user";
try {
await database.createListing("users", user);
res.json({ success: true });
} catch (e) {
res.json({ success: false });
}
});
router.post('/sign_up_doctor', async function (req, res) {
let user=req.body;
user.status="doctor";
try {
await database.createListing("doctors", user);
res.json({ success: true });
} catch (e) {
res.json({ success: false });
}
});
router.get("/login/success", function (req, res) {
console.log("Login Success");
res.json({ success: true });
});
router.get('/login/fail', function (req, res) {
console.log("Login Fail");
res.json({ success: false });
});
router.post('/login',
passport.authenticate('local', {
successRedirect: '/login/success',
failureRedirect: '/login/fail'
}));
router.get('/logout', function (req, res) {
req.logout();
req.session.save(function () {
res.json({ success: true });
});
});
// router.get('/',function(req,res){
// res.sendFile(path.join(__dirname,"../public/index.html"));
// })
router.get("/info", function (req, res) {
user=req.user;
res.json(user);
});
router.post("/forgot_pw",async function(req,res){
try{
const data=req.body;
const user = await database.findOneListing("users",{
id:data.id,
email:data.email
});
if(user){
res.json({success:true});
}
}catch(e){
console.error(e);
res.json({success:false});
}
});
router.post("/update_pw",async function(req,res){
try{
const data=req.body;
await database.updateListing("users",{id:data.id},{
pw:data.pw
})
res.json({success:true});
}catch(e){
console.error(e);
res.json({success:false});
}
});
return router;
}
\ No newline at end of file
var express = require('express');
var router = express.Router();
var database = require("../lib/database");
var moment=require("moment");
var momentTimezone=require("moment-timezone");
router.get('/', async function (req, res) {
try {
const names=await database.findMultipleListings("boardName");
names.forEach(name=>{
delete name._id;
});
res.json(names);
} catch (e) {
console.log(e);
res.json({ success: false });
}
});
router.get("/:idx/remove/:t_idx",async function (req,res){
const params=req.params;
try{
const text=await database.findOneListing("board"+params.idx,{idx:Number.parseInt(params.t_idx)});
await database.deleteListing("board"+params.idx,{idx:Number.parseInt(params.t_idx)});
let users=await database.findMultipleListings("board"+params.idx);
for(user of users){
await database.pullElementInListing("users",{
id:req.user.id
},{
texts:text._id
});
}
res.json({success:true});
}catch(e){
console.error(e);
res.json({success:false});
}
})
router.get('/:idx/text/:t_idx',async function(req,res){
try{
let text=await database.findOneListing("board"+req.params.idx,{
idx:Number.parseInt(req.params.t_idx)
});
text.removable=false;
await database.upsertListing("board"+req.params.idx,{
idx:Number.parseInt(req.params.t_idx)
},{
view:++text.view
})
const user = await database.findOneListing("users",{id:req.user.id});
if(user){
for(t_id of user.texts){
if(text._id.toString()==t_id.toString()){
text.removable=true;
}
}
}
console.log(text);
res.json(text);
}catch(e){
res.json({success:false});
}
});
router.post('/:idx/register', async function (req, res) {
try {
let data=req.body;
let idx=Number.parseInt(req.params.idx);
let temp=await database.findOneListing("boardName",{idx:idx});
let number=temp.number;
await database.upsertListing("boardName",{idx:idx},{number:number+1});
data.idx=number;
data.writer=req.user.nickname;
data.view=0;
data.like=0;
data.time=moment(Date.now()).tz("Asia/Seoul").locale("ko").format("lll");
const insertedId=await database.createListing("board"+idx,data);
console.log(data);
console.log(data.img);
await database.pushElementInListing(
"users",{id:req.user.id},{texts:insertedId}
);
res.json({ success:true });
} catch (e) {
console.error(e);
res.json({ success: false });
}
});
router.get("/:idx/:p_id",async function(req,res){
try{
const p_id=req.params.p_id;
let boards=await database.findMultipleListings("board"+req.params.idx);
boards=boards.reverse();
data={
text:boards.slice((p_id-1)*10,p_id*10),
text_length:boards.length
};
console.log(data);
res.json(data);
}catch(e){
console.error(e);
res.json({success:false});
}
});
router.get('/:idx', async function (req, res) {
try {
const board = await database.findOneListing("board", { idx: req.user.idx });
res.json(board);
} catch (e) {
res.json({ success: false });
}
});
module.exports = router;
var express = require('express');
var ObjectId=require("mongodb").ObjectId;
var router = express.Router();
var database = require("../lib/database");
var moment = require("moment");
var momentTimezone=require("moment-timezone");
router.get('/',async function (req,res){
try{
const user = await database.findOneListing("users",{id:req.user.id});
let calendarList=[];
if(user.calendar_list){
for(cal_id of user.calendar_list){
let cal=await database.findOneListing("calendars",{_id:cal_id});
if(cal){
calendarList.push(cal);
}
}
}
if(user.pet_list){
for(pet_id of user.pet_list){
console.log("hi");
let pet=await database.findOneListing("pets",{_id:pet_id});
for(cal_id of pet.calendar_list){
let cal=await database.findOneListing("calendars",{_id:cal_id});
if(cal){
calendarList.push(cal);
}
}
}
}
console.log(calendarList);
res.json(calendarList);
}catch(e){
console.error(e);
res.json({success:false});
}
});
router.post('/',async function (req,res){
try{
const insertedId=await database.createListing("calendars",req.body);
await database.upsertListing("calendars",{_id:insertedId},{id:insertedId});
await database.pushElementInListing("users",
{id:req.user.id},{calendar_list:insertedId});
res.json({success:true});
}catch(e){
res.json({success:false});
}
});
router.put('/:id',async function (req,res){
try{
const id=req.params.id;
await database.updateListing("calendars",
{id:new ObjectId(id)},req.body);
console.log(id);
res.json({success:true});
}catch(e){
console.error(e);
res.json({success:false});
}
});
router.delete('/:id',async function (req,res){ // id!!!=ObjectId
try{
const id=req.params.id;
await database.deleteListing("calendars",{id:new ObjectId(id)});
await database.pullElementInListing("users",
{id:req.user.id},
{calendar_list:new ObjectId(id)}
);
res.json({success:true});
}catch(e){
res.json({success:false});
}
});
module.exports=router;
\ No newline at end of file
var express = require('express');
var router = express.Router();
var database = require("../lib/database");
var ObjectId=require("mongodb").ObjectId;
router.get("/", async function (req, res) {
try{
const hospitals = await database.findMultipleListings("hospitals");
res.json(hospitals);
}catch(e){
console.error(e);
res.json({success:false});
}
});
router.get("/user", async function (req, res) {
try{
const data=await database.findOneListing("users",{id:req.user.id});
res.json({address:data.address});
}catch(e){
console.error(e);
res.json({success:false});
}
});
router.post("/book", async function (req, res) {
try{
const data=req.body;
const insertedId=await database.createListing("calendars",data.calendar);
await database.upsertListing("calendars",{_id:insertedId},{id:insertedId});
await database.pushElementInListing("pets",{_id:new ObjectId(data.pet_id)},{
calendar_list:insertedId
});
await database.pushElementInListing("hospitals",{_id:data.hospital_id},{calendars:data.calendar});
res.json({success:true});
}
catch(e){
res.json({success:false});
}
});
module.exports = router;
\ No newline at end of file
var express = require('express');
var router = express.Router();
var database = require("../lib/database");
router.get('/', async function (req, res, next) {
try {
const user = await database.findOneListing("users", { id: req.user.id });
let petList = [];
if(user.pet_list){
for(const _id of user.pet_list){
const pet = await database.findOneListing("pets", { _id: _id });
petList.push(pet);
}
}
console.log("mypet.out",petList);
res.json(petList);
} catch (e) {
console.log(e);
res.json({ success: false });
}
});
router.post('/addpet', async function (req, res) {
try {
const insertedId = await database.createListing("pets", req.body);
await database.pushElementInListing("users",
{ id: req.user.id }, { pet_list: insertedId });
res.json({ success: true });
} catch (e) {
console.log(e);
res.json({ success: false });
}
});
router.post("/booking",async function(req,res){
try {
//안씀
res.json({ success: true });
} catch (e) {
console.log(e);
res.json({ success: false });
}
})
module.exports = router;
var express = require('express');
var router = express.Router();
var database = require("../lib/database");
router.post("/",async function(req,res){
try{
const user = await database.findOneListing("users",{id:req.user.id})
if(user.pw==req.body.pw){
res.json({success:true});
}else{
res.json({success:false});
}
}catch(e){
console.error(e);
res.json({success:false});
}
});
router.get("/",async function(req,res){
try{
const user=await database.findOneListing("users",{id:req.user.id});
res.json(user);
}catch(e){
console.error(e);
res.json({success:false});
}
});
router.post("/modify",async function(req,res){
try{
await database.upsertListing("users",{id:req.user.id},req.body);
res.json({success:true});
}catch(e){
console.error(e);
res.json({success:false});
}
});
module.exports=router;
\ No newline at end of file
# apuzi
## Project setup
```
yarn install
```
### Compiles and hot-reloads for development
```
yarn run serve
```
### Compiles and minifies for production
```
yarn run build
```
### Run your tests
```
yarn run test
```
### Lints and fixes files
```
yarn run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
form[data-v-50c5a3d8]{border:3px solid #f1f1f1}[data-v-50c5a3d8]{text-align:center}#login_page[data-v-50c5a3d8]:after{content:"";position:absolute;top:0;left:0;margin:0 0 60px 0;width:100%;height:155%;opacity:.5;z-index:-1;background-image:url(../img/main_5.81ca7931.jpg)}input[type=password][data-v-50c5a3d8],input[type=text][data-v-50c5a3d8]{width:30%;padding:12px 20px;margin:5px 5px 5px 5px;display:inline-block;border:2px solid grey;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:8px}button[data-v-50c5a3d8]{width:15%;background-color:none;color:#000;padding:14px 20px;margin:8px 10px;border:2px solid green;border-radius:8px;cursor:pointer}button[data-v-50c5a3d8]:hover{opacity:.8;background-color:red;color:#fff}#login[data-v-50c5a3d8]:hover{opacity:.8;background-color:green;color:#fff}#space[data-v-50c5a3d8]{margin:50px 50px 25px 100px}.sign_up[data-v-50c5a3d8]{width:15%;border:2px solid red}span.psw[data-v-50c5a3d8]{padding-top:16px}@media screen and (max-width:300px){span.psw[data-v-50c5a3d8]{display:block;float:none}.cancelbtn[data-v-50c5a3d8]{width:100%}}@media(max-width:768px){button[data-v-50c5a3d8]{width:15%;background-color:none;color:#000;padding:0 0;margin:0 10px;border:2px solid green;border-radius:8px;cursor:pointer}}[data-v-28bd0582]{text-align:center}.find_pw[data-v-28bd0582],.reset_pw[data-v-28bd0582]{display:inline-block;width:40%;height:50%;background-color:none;color:#000;padding:14px 0 20px 0;margin:70px 0;border:2px solid #deb887;border-radius:8px}button[data-v-28bd0582]{display:inline-block;width:15%;background-color:none;color:#000;padding:14px 10px;border:2px solid green;border-radius:8px;cursor:pointer}.space[data-v-28bd0582]{padding:20px 20px}@media(max-width:768px){button[data-v-28bd0582]{width:15%;background-color:none;color:#000;padding:14px 10px;border:2px solid green;border-radius:8px;cursor:pointer}}[data-v-103885a9]{text-align:center}.banner-area[data-v-103885a9]{background:url(../img/banner-bg.4720a354.jpg) 50%;background-size:cover;width:100%;height:400px;line-height:100px;margin:0 auto}#submit[data-v-103885a9]{background-color:grey;border-radius:15px;margin-top:20px;margin-bottom:20px;width:80px;height:30x}input[data-v-103885a9]{margin:5px 0 10px 5px;width:200px;border-radius:8px;border:1px solid #deb887}div[data-v-42e86912]{text-align:center;font-size:small}button[data-v-42e86912]{padding:5px 5px 5px 5px;margin:5px 15px 15px 15px;border:1px solid grey;border-radius:8px}#text td[data-v-42e86912],#text th[data-v-42e86912]{text-align:center;border-collapse:collapse;border-bottom:1px solid #ddd;color:#000;padding:13px}#text tr#only[data-v-42e86912]:hover{background-color:#f5f5f5}#text thead tr[data-v-42e86912]{color:#000}#text[data-v-42e86912]{width:100%;float:left;padding-left:10%}#table[data-v-42e86912]{width:90%}#write[data-v-42e86912]{float:right}#head[data-v-42e86912]{padding-right:70px}button[data-v-42e86912]:hover{opacity:.8;background-color:grey;color:#fff}input[type=text][data-v-42e86912]{width:30%;padding:12px 10px;margin:8px 0 0 8px;display:inline-block}@media (max-width:768px){td.col_1[data-v-42e86912],th.col_2[data-v-42e86912]{display:none;width:0;height:0;opacity:0;visibility:collapse}}.container[data-v-2f72444e]{color:#000}#title[data-v-2f72444e]{height:40px}#contents[data-v-2f72444e],#title[data-v-2f72444e]{width:80%;display:block;margin-left:auto;margin-right:auto;border:1px solid #000;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px}#contents[data-v-2f72444e]{height:60%}#board_page[data-v-8a6c2d32]{padding:30px}#board_page[data-v-8a6c2d32]:after{content:"";position:absolute;top:0;left:0;margin:0 0 60px 0;width:100%;height:155%;opacity:.5;z-index:-1;background-image:url(../img/main_5.81ca7931.jpg)}.board[data-v-8a6c2d32]{float:left;height:400px;width:20%;border:3px solid;margin:auto;padding:10px}#T[data-v-8a6c2d32]{float:left;height:600px;width:80%}#D[data-v-8a6c2d32]{float:left;height:500px;width:80%}#back[data-v-8a6c2d32]:hover{opacity:.8;background-color:#a74d29;color:#fff}#back[data-v-8a6c2d32]{float:right;display:inline-block;width:8%;background-color:none;color:#000;padding:5px 5px;margin:8px 10px;border:2px solid #a74d29;border-radius:8px;cursor:pointer}#del[data-v-8a6c2d32]:hover{opacity:.8;background-color:red;color:#fff}#del[data-v-8a6c2d32]{float:right;display:inline-block;width:8%;background-color:none;color:#000;padding:5px 5px;margin:8px 10px;border:2px solid red;border-radius:8px;cursor:pointer}button[data-v-79a6a84d]{margin-right:10px}.mypet[data-v-e98def5c]{float:left;height:300px;width:20%;border:3px solid;margin:120px 0 30px 30px;padding:40px}@media (max-width:768px){.mypet[data-v-e98def5c]{float:none;width:80%;height:10%}}.page[data-v-26be26b3]{float:right;width:75%;height:65%}#cal[data-v-26be26b3]{margin:30px 10px 30px 0;padding:30px 10px 30px 0}#calendar.agenda[data-v-26be26b3]{background-color:#f90}.buttons[data-v-26be26b3]{text-align:right;margin:30px 10px 30px 0}#book_page[data-v-26be26b3]:after{height:130%;background-color:#bc8f8f}#book_page[data-v-26be26b3]:after,.container[data-v-cea291ba]:after{content:"";position:absolute;top:0;left:0;width:100%;opacity:.5;z-index:-1}.container[data-v-cea291ba]:after{margin:0 0 60px 0;height:100%;background-image:url(../img/main_5.81ca7931.jpg)}#title[data-v-cea291ba]{width:1000px;height:40px}#contents[data-v-cea291ba]{width:1000px;height:300px}textarea[data-v-cea291ba]{display:block;margin-left:auto;margin-right:auto;border:2px solid grey;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px}button[data-v-cea291ba]:hover{opacity:.8;background-color:#a74d29;color:#fff}button[data-v-cea291ba]{width:10%;padding:14px 20px;margin:8px 10px;cursor:pointer}.container[data-v-fe2c7e88],button[data-v-cea291ba]{display:inline-block;background-color:none;color:#000;border:2px solid #a74d29;border-radius:8px}.container[data-v-fe2c7e88]{width:40%;height:50%;padding:14px 20px 20px;margin:70px 0}.container[data-v-fe2c7e88]:after{content:"";position:absolute;top:0;left:0;margin:0 0 60px 0;width:100%;height:100%;opacity:.5;z-index:-1;background-image:url(../img/main_5.81ca7931.jpg)}#select[data-v-fe2c7e88]{font-size:large}input[type=radio]+label[data-v-fe2c7e88]{margin:0 10px 0 5px}input[type=text][data-v-fe2c7e88]{width:50%;padding:12px 10px;margin:8px 0 0 8px;display:inline-block;border:2px solid grey;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:8px}button[data-v-fe2c7e88]:hover{opacity:.8;background-color:#a74d29;color:#fff}.space[data-v-fe2c7e88]{padding:20px 20px}button[data-v-fe2c7e88]{display:inline-block;width:30%;background-color:none;color:#000;padding:14px 20px;margin:8px 10px;border:2px solid #a74d29;border-radius:8px;cursor:pointer}[data-v-24b6c447]{text-align:center}.check_pw[data-v-24b6c447]{width:40%;height:50%;padding:14px 0 20px 0;margin:70px 0;border:2px solid #deb887;border-radius:8px}.check_pw[data-v-24b6c447],button[data-v-24b6c447]{display:inline-block;background-color:none;color:#000}button[data-v-24b6c447]{width:15%;padding:14px 10px;border:2px solid green;border-radius:8px;cursor:pointer}.space[data-v-24b6c447]{padding:20px 20px}@media(max-width:768px){button[data-v-24b6c447]{width:15%;background-color:none;color:#000;padding:14px 10px;border:2px solid green;border-radius:8px;cursor:pointer}}[data-v-f837f8a2]{text-align:center}.banner-area[data-v-f837f8a2]{background:url(../img/call-bg.57b1dadd.jpg) 50%;background-size:cover;width:100%;height:400px;line-height:100px;margin:0 auto}#submit[data-v-f837f8a2]{background-color:grey;border-radius:15px;margin-top:20px;margin-bottom:20px;width:80px;height:30x}input[data-v-f837f8a2]{margin:5px 0 10px 5px;width:200px;border-radius:8px;border:1px solid #deb887}
\ No newline at end of file
#dog{padding:30px 0 0 0}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50}#menu{padding-right:100px;text-align:right}#nav a{font-weight:700;color:#2c3e50}#nav a.router-link-exact-active{color:#42b983}[data-v-1ab01092]{margin:0;padding:0}li[data-v-1ab01092],ul[data-v-1ab01092]{list-style:none}.home[data-v-1ab01092]{height:400px;position:relative;overflow:hidden}.home ul[data-v-1ab01092]{width:400%;height:100%;-webkit-transition:1s;transition:1s}.home ul[data-v-1ab01092]:after{content:"";display:block;clear:both}.home li[data-v-1ab01092]{float:left;width:25%;height:100%}.home input[data-v-1ab01092]{display:none}.home label[data-v-1ab01092]{display:inline-block;vertical-align:middle;width:10px;height:10px;border:1px solid grey;background:none;margin:3px;-webkit-transition:.3s;transition:.3s;border-radius:50%;cursor:pointer}.home .pos[data-v-1ab01092]{position:absolute;bottom:10px;left:0;width:100%;text-align:center}#pos1:checked~ul[data-v-1ab01092]{margin-left:0}#pos2:checked~ul[data-v-1ab01092]{margin-left:-100%}#pos3:checked~ul[data-v-1ab01092]{margin-left:-200%}#pos4:checked~ul[data-v-1ab01092]{margin-left:-300%}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
frontend/dist/favicon.ico

1.12 KiB

File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment